使用WebSockets维护连接

本文关键字:连接 维护 WebSockets 使用 | 更新日期: 2023-09-27 18:04:21

我有一个JavaScript/html web套接字客户端。它经常从我的服务器接收图像。我在c#控制台应用程序中托管我的web套接字服务器。

我的客户端等待图像的最长时间是10秒。

我是否也应该从我的客户端(JavaScript)发送"keep-alive"数据包到我的服务器,或者它从我的服务器接收常规数据包的事实就足够了?

谢谢

使用WebSockets维护连接

您可以从服务器发送ping消息,客户机将以pong消息进行应答。它是WebSocket协议的一部分,不确定您的服务器实现是否支持它。然而,从客户端你没有办法知道你是否在while中收到了ping消息,所以客户端可能会挂在那里。

或者您可以使用自己的消息在应用程序级别执行此操作。基本上是创建一个JSON格式的"ping"消息,并定期从客户端发送到服务器,然后如果在X时间内没有得到响应,则重新连接。

如果你不这样做,唯一的问题是连接可能是半开的,你的客户端可能挂在那里等待永远不会出现的图像。

欢呼。