서버에서 정보를 수신하고 사용자에게 해당 정보를 화면에 표시하는 응용 프로그램이 있습니다. 많은 정보가 있기 때문에, 나는 정보를받을 때 UI를 업데이트하고 싶습니다.UI 업데이트 중 여러 개의 UDP 패킷 수신
송수신은 별도의 스레드에서 수행됩니다.
두 질문 :
가 어떻게 최고의 여러 UDP 패킷을받을 수 있습니까? 한 패킷
try { Log.i(TAG,"Listening..."); _dcOut.setSoTimeout(20000); _dcOut.receive(packet);/* Wait to receive a datagram */ haveDatagram = true; Log.d(TAG,"dc_out, received..."); } catch (Exception e) { // can be just a time out haveDatagram = false; Log.d(TAG,"dc_out, failed to receive..."); }
를 수신 나의 현재 코드는 다수의 UDP 패킷을 수신하면서 UI를 업데이트 할 수 있는가?
편집 : 서버에서 정보를 얻을 수 바운드 서비스를 사용하고 (AIDL 특정 예정).
어느 I : 다음은 설정입니다 1. 개별 객체를 얻고 다시 보내고 그 서비스 나 2의 특정 예를 들어 내가 그 서비스에 대한 그들의 목록을 다시 보낼 수있어
제 생각으로 말하자면 5 ~ 10 개 개체의 목록을 보내야하고 잠시 동안 반복해야합니다. 이 서비스 패킷을 수신하는 동안 나를 UI를 업데이트 할 수있는 방법이없는 것처럼
이라면 .. 닥터 버크 느낄 setup-- UDP 패킷의 수신이있다, 별도의 스레드에서 수행하는 경우
버퍼에 저장하는 방법에 대해 설명해 주시겠습니까? 이것은 패킷의 arraylist와 같은 의미이며 목록에 추가 될 때리스트에서 제거하고 처리하는 것입니까? – benzabill
Java 버퍼는 보통 대기열로 구현됩니다. 선입 선출 우선 –
몇 가지 추가 정보가 게시되도록 게시물을 편집했습니다. – benzabill