2014-05-04 123 views
0

我有一個AIR服務器應用程序。多個移動客戶端連接到它。一切正常,如果只有一個客戶端,但是當服務器在一個循環中向多個客戶端發送數據時,客戶端無法立即處理數據。數據晚了一步。如何將數據發送到多個客戶端套接字

這段代碼裏面一個for循環:

clients[i].client.writeObject(data); 
clients[i].client.flush(); 

只在客戶端發送的數據是從服務器獲取更新。其他人都安靜了一步。如果客戶端發送另一條消息,則所有其他客戶端都會更新爲以前發送的更新狀態。

客戶端上的代碼很好,因爲在計算機上運行的客戶端正在接收更新。只有移動客戶端無法更新。

這個問題的原因是什麼?

什麼是在同一時間發送數據到多個客戶端套接字的正確方法?

回答

0

我已經通過設置一個定時器來延遲數據傳輸1/3秒來解決了這個問題。較短的延遲時間導致了相同的問題。我不認爲這是唯一的解決方案,但它的工作。 此解決方案的問題是,如果有100個客戶端,則最後一個將在30秒內收到數據更新。

相關問題