【发布时间】:2019-03-23 06:18:35
【问题描述】:
是否有任何常见的实践技术来发送心跳消息来监控客户端设备?
我目前正在做的是设置一个任务计时器并以一秒的间隔轮询每个客户端设备,并等待客户端设备的确认,然后再增加计数器以轮询第二个设备。
如果没有来自设备的确认,我将再次尝试最多 3 次。
这是一个好习惯吗?
请指教。
谢谢。
【问题讨论】:
标签: c# uwp client-server windows-10-iot-core
是否有任何常见的实践技术来发送心跳消息来监控客户端设备?
我目前正在做的是设置一个任务计时器并以一秒的间隔轮询每个客户端设备,并等待客户端设备的确认,然后再增加计数器以轮询第二个设备。
如果没有来自设备的确认,我将再次尝试最多 3 次。
这是一个好习惯吗?
请指教。
谢谢。
【问题讨论】:
标签: c# uwp client-server windows-10-iot-core
TCP 在通过 IP 网络通信的主机上运行的应用程序之间提供可靠、有序且经过错误检查的八位字节流传输。不需要可靠数据流服务的应用程序可以使用用户数据报协议 (UDP),该协议提供无连接数据报服务,强调减少延迟而不是可靠性。参考:“wiki”。
一般来说,如果您的服务器和客户端工作在:
无需实现心跳。
虽然心跳/PING/keep-alive 是绝对的或唯一的检查连接的方法。但是如何实现心跳对您来说是一个好的实践或最佳实践,这取决于您的用例,例如,心跳对您有效的频率是多少?客户端失去连接的可能原因。
更多参考:
“Do I need to heartbeat to keep a TCP connection open?”
“Keep Alive TCP/IP connected sockets over the Internet - when? how? and how much?”
【讨论】: