我有一个AIR服务器应用程序。有几个移动客户端连接到它。如果只有一个客户端,一切都很好,但是当服务器在循环中向多个客户端发送数据时,客户端无法立即处理数据。数据延迟了一步。
这段代码在for循环中:
clients[i].client.writeObject(data);
clients[i].client.flush();
只有发送数据的客户端才能从服务器获取更新。其他人都安静了一步。如果客户端发送另一条消息,则所有其他客户端都将更新为先前发送的更新状态。
代码在客户端上很好,因为在计算机上运行的客户端正在按时接收更新。只有移动客户端无法更新。
这个问题可能是什么原因?
同时向多个客户端套接字发送数据的正确方法是什么?
答案 0 :(得分:0)
我通过设置定时器来延迟数据传输1/3秒来解决了这个问题。延迟时间减少导致同样的问题。我不认为这是唯一的解决方案,但它确实有效。 此解决方案的问题是,如果有100个客户端,则最后一个将在30秒内收到数据更新。