我有一个JavaScript / html Web套接字客户端。它经常从我的服务器接收图像。我在C#控制台应用程序中托管我的Web套接字服务器。
我的客户最长的等待图片的时间是10秒。
我是否也应该发送' keep-alive'从我的客户端(JavaScript)到我的服务器的数据包,还是它从我的服务器收到常规数据包的事实呢?
由于
答案 0 :(得分:1)
您可以从服务器发送ping消息,客户端将使用pong消息回答。它是WebSocket协议的一部分,不确定您的服务器实现是否支持它。但是,从客户端你无法知道你是否有ping消息,所以客户端可能会挂在那里。
或者您可以使用自己的消息在应用程序级别执行此操作。基本上在JSON中创建一个“ping”消息并定期从客户端发送到服务器,如果你没有在X时间得到响应,重新连接。
如果你不这样做,唯一的问题就是连接可能是half-open,而你的客户可能会挂在那里等待永远不会出现的图像。
干杯。