我有一个 JavaScript/html Web 套接字客户端。它经常从我的服务器接收图像。我在 C# 控制台应用程序中托管我的 Web 套接字服务器。
我的客户等待图像的最长时间是 10 秒。
我是否还应该从客户端 (JavaScript) 向我的服务器发送“保持事件”数据包,或者它从我的服务器接收常规数据包就足够了?
谢谢
最佳答案
您可以从服务器发送 ping 消息,客户端将用 pong 消息进行应答。它是 WebSocket 协议(protocol)的一部分,不确定您的服务器实现是否支持它。然而,从客户端你无法知道你是否在一段时间内收到了 ping 消息,因此客户端可能会卡在那里。
或者您可以使用自己的消息在应用程序级别执行此操作。基本上在 JSON 中创建一条“ping”消息并定期从客户端发送到服务器,然后如果在 X 时间内没有收到响应,请重新连接。
如果不这样做,唯一的问题是连接可能 half-open ,而您的客户可能会在那里等待永远不会出现的图像。
干杯。
关于javascript - 使用 WebSocket 维护连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31605921/