代码之家  ›  专栏  ›  技术社区  ›  mylim

UWP C#StreamSocket TCP向监视设备发送心跳消息

  •  0
  • mylim  · 技术社区  · 6 年前

    有没有什么常用的技术来发送心跳消息来监视客户端设备? 我目前正在做的是设置一个tasktimer,每隔一秒轮询每个客户机设备,等待客户机设备确认,然后再增加计数器来轮询第二台设备。如果没有来自设备的确认,我将再次尝试最多3次。 这是个好做法吗? 请告知。 谢谢。

    1 回复  |  直到 6 年前
        1
  •  2
  •   Rita Han    6 年前

    传输控制协议 在通过IP网络通信的主机上运行的应用程序之间,提供可靠、有序且经过错误检查的八位字节(字节)流的传递。不需要可靠数据流服务的应用程序可以使用用户数据报协议( UDP协议 wiki ".

    一般来说,如果您的服务器和客户机在以下环境中工作:

    • 有线网络代替无线网络
    • 他们都没有撞车

    不需要实现心跳。

    而heartbeat/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? "

    " TCP Dead link detection "