websocket 客户端或服务器应该发送ping消息吗?

dxpyg8gm  于 2022-11-11  发布在  其他
关注(0)|答案(2)|浏览(367)

我一直认为发送ping消息以确保服务器可用或以适当的方式处理断开连接是客户端的责任。
但是最近我读到一篇文章,其中ping消息的发起者是服务器端,所以,服务器发送ping,客户端应该用pong来响应。
什么是更普遍的普遍方法?为什么?

s6fujrry

s6fujrry1#

我不能回答这个问题,因为这可能取决于具体的情况。但是如果客户端以前从未发送过任何东西,服务器怎么知道谁发送了ping呢?

在我看来是客户需要开始“对话”。

我看到您在标签中提到了websocketwebsocket(服务器)需要在开始向此客户端发送预期数据之前从客户端接收第一条消息。

sd2nnvve

sd2nnvve2#

根据 websocket RFC - 示例 , 它 显示 了 未 屏蔽 的 Ping 请求 ( Ping 帧 ) 和 屏蔽 的 Ping 响应 ( Pong 帧 ) , 其中 Ping 来自 服务 器 , Pong 来自 客户 端 。
但是 , Ping 和 Pong 部分 提到 了 " 端点 " , 它 可以 是 客户 端 或 服务 器 。
因此 , 客户 端 和 服务 器 都 应该 能够 发送 Ping 帧 , 并且 另 一 方 应该 使用 Pong 帧 进行 回复 。

相关问题