除了将其标识为 ping 帧的操作码之外,WebSocket ping帧可能包含也可能不包含应用程序数据。
据我了解,ping/pong 的目的是防止 TCP 连接超时。这些帧包含尽可能小的虚拟数据(即操作码),并尽可能频繁地发送以表明连接仍在使用中。
还有更多吗?如果我从未在 ping 帧中发送应用程序数据,我会错过任何东西吗?例如,如果我在 ping 中发送令牌以建立 ping 和 pong 之间的对应关系,以通过发送 ping 和接收相应 pong 之间的时间来判断连接质量,我是否会滥用 ping/pong?