node.js - NodeJS 与 Einaros WebSocket : Client Ping Server VS Server Ping Client

标签 node.js websocket

我正在使用 NodeJS 和 Einaros WS 模块开发 WebSocket 服务,我提出了这个问题:NodeJS Einaros WS Connection Timeout显然没有人知道答案,所以我想我应该编写自己的基于乒乓球的系统来检查客户端是否仍然连接。

我不确定我应该在服务器端还是客户端编写代码;我的意思是,如果服务器应该 ping 客户端,或者...客户端(这是我自己的 websocket 应用程序)应该 ping 服务器。

这两种方法有什么区别吗?

最佳答案

它称为心跳,通常由客户端每 5 秒发送一次,并使用 ping 帧 (0x09) 作为操作码,而服务器则使用 pong 帧 (0xA) 作为操作码进行响应。

理论上,是服务器还是客户端发起心跳并不重要,但在现实情况下,无论服务器是否存在,客户端通常最好保持更新,以便能够尽快通知用户。

关于node.js - NodeJS 与 Einaros WebSocket : Client Ping Server VS Server Ping Client,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25362613/

相关文章:

rest - 向服务器发送数据时的Websocket vs REST

node.js - 在 Heroku 上运行 Node.js 应用程序时出错

nginx - 在谷歌入口 Controller 中建立 https 后 websocket 连接失败

javascript - 如何检索 websocket 连接列表?

node.js - Nodejs 的 DEBUG 和 NODE_DEBUG 有什么区别?

python - 发送 'websocket.send'后运行时错误: Unexpected ASGI message 'websocket.close' ,

javascript - 在socket.io和node.js上使用disconnect函数

javascript - 使用 NodeJS 执行托管 .JS 文件

node.js - Node.js 如何知道何时退出进程?

node.js - 如何在postgres中更新和插入数据