0
我有一個應用程序,我從服務器接收信息,然後在屏幕上爲用戶顯示該信息。由於有很多信息,我想在接收信息時更新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是特定的)。下面是設置:
要麼我: 1.獲得一個單獨的對象,併發送回,就是這樣的服務或 2的特定情況下,我可以發回他們的名單該服務
我的想法是,我應該發回一個說的清單,5-10個對象,並重復一段時間?
- 我覺得自己好像不是我要更新UI,同時接受這個服務包的方式setup--
你能解釋一下將它們存儲在緩衝區中嗎?這是否意味着像數據包的數組列表,然後當他們被添加到列表中,我將它們從列表中刪除並處理它們? – benzabill
Java緩衝區通常以Queue的形式實現。先入先出 –
我編輯帖子以獲得一些附加信息 – benzabill