【发布时间】:2012-07-18 23:40:12
【问题描述】:
我正在开发一个无市场应用程序,它在 20-30 个 android 设备上运行(目标特定于具有 android 蜂窝/ICS OS 的平板电脑)通过本地 WIFI 网络保持连接 1-2 小时,并且需要在它们之间交换数据(表示命令的简单对象)。
大多数情况下,一个特定的平板电脑的行为类似于发送命令的服务器,而其他设备则类似于接收命令的客户端,但“客户端”有时也会向“服务器”发送命令。
作为这种通信需求的解决方案 - 我使用了一段时间的开源
封装 TCP 客户端/服务器协议的库,称为 - Kryonet。
我发现它非常易于使用,并且基本上可以完成这项工作,尽管它有时“不稳定” - 会产生很多断开连接。 我无法承受这种断开连接,它会破坏整个流程和用例,导致客户端丢失命令。
我正在做一些恢复逻辑,重新连接客户端并向他们发送他们错过的内容,但这对于用例来说还不够好。
最近我听说了多播广播协议,甚至发现了一个开源库调用 - JGroups,它以最佳方式实现了该协议,并提供了简单易用的接口。仍然没有尝试过,但是从知道的人那里得到了建议,说对于我的目的来说,TCP 客户端/服务器应该更好。
- 我应该使用什么最佳方法来实现我所描述的行为? (不一定是我建议的两个之一)
TIA
【问题讨论】:
标签: android tcp multicast android-wifi local-network