【发布时间】:2014-11-23 20:56:08
【问题描述】:
我正在尝试学习 Perl 中的套接字。用户关闭盖子并且套接字连接断开是很常见的。服务器有什么方法可以了解客户端进入睡眠模式。请帮助。我正在使用 Net::WebSocket::Server
【问题讨论】:
标签: javascript html perl websocket
我正在尝试学习 Perl 中的套接字。用户关闭盖子并且套接字连接断开是很常见的。服务器有什么方法可以了解客户端进入睡眠模式。请帮助。我正在使用 Net::WebSocket::Server
【问题讨论】:
标签: javascript html perl websocket
检测未主动关闭但突然变得无法访问的套接字的常用方法是按照约定的时间表发送心跳包。套接字的另一端应该在每次收到心跳包时响应心跳响应。
如果服务器发出心跳并且在合理的时间内没有收到响应,那么它可以假设客户端不再主动连接。
像socket.io 这样的套接字库实现了这种技术,用于检测连接何时失效以用于 websockets,但同样的技术可以用于任何类型的套接字。
可以从连接的任一端使用心跳(取决于您想要如何做以及每一端的期望)。因此,如果服务器正在发送心跳,客户端可以假设如果它经过 X 时间而没有收到任何心跳请求,那么它与服务器的连接肯定已经断开,因此它应该关闭套接字并重新连接。
【讨论】: