【发布时间】:2015-02-13 16:45:59
【问题描述】:
我目前正在使用一种网络协议,其中包括一个客户端到客户端系统,可以自动发现当前本地网络上的客户端。
现在,我定期在255.255.255.255 上进行广播,如果客户端在 30 秒内没有发出,我认为它已死(然后离线)。目标是保持最新的运行客户端列表。它使用 UDP 运行良好,但 UDP 不能确保数据包已成功传送。因此,当涉及到网络的 WiFi 部分时,我有时会对死去的客户进行“虚假陈述”。目前我已经减少了两次广播之间的时间来解决这个问题(仍然不能很好地工作),但我觉得这并不干净。
我可以做些什么来保留“在线”客户列表而不会有这种“误报”的风险?
【问题讨论】:
-
时间周期的一半并在 TCP 上运行
-
TCP 是一种单播协议。一半的时间段是我目前所做的,但我想要更可靠的东西。