我正在使用NodeJS和Einaros WS模块开发WebSocket服务,我提出了这个问题:NodeJS Einaros WS Connection Timeout显然没有人知道答案所以我认为我应该编写自己的基于ping pong的系统来检查是否存在客户端是否仍然连接。
我不确定是否应该在服务器端或客户端编写代码;我的意思是如果服务器应该ping客户端或...客户端(这是我自己的websocket应用程序)应该ping服务器。
两种方法之间有什么区别吗?
答案 0 :(得分:4)
它被称为心跳,通常由客户端每隔5秒发送一次ping帧(0x09
)作为操作码,而服务器则以乒乓帧(0xA
)作为操作码进行响应。 / p>
从理论上讲,服务器或客户端是否启动心跳并不重要,但在实际情况下,无论服务器是否存在,客户端都会自行更新用户尽快。