龙卷风websocket的ping / pong实现

时间:2018-09-06 10:00:06

标签: python-2.7 websocket tornado ping

我有一个websocket client在python中使用tornado.websocket. WebSocketClientConnection 实现,它连接到远端的服务器并通过websocket进行通信。早些时候,我在应用程序层实现了类似ping/pong的反馈机制,以确保远程端点是否仍然响应。

我最近更新了tornado软件包,并在ping_interval中遇到了WebSocketClientConnection。我在应用程序层删除了旧的ping/pong机制,并在实现中添加了此ping_interval

此更新后,websocket将在提到的ping_interval timeout之后关闭。远端的服务器在传输层处理ping,并做出响应。

  1. 当前我尚未实现ping方法,所以我是否必须为ping实现WebSocketClientConnection方法?,
  2. 我必须使用ping方法发送任何数据吗?
  3. 我是否必须实现任何方法来处理远程服务器针对ping请求发送的响应?

1 个答案:

答案 0 :(得分:1)

  1. 不,It's implemented by default
  2. You may but don't have to
  3. 我认为通过响应您已经打乒乓球了。如果使用的是ping_interval,则不必处理pong,但如果要手动发送ping,则必须自己控制超时,因此必须通过实现tornado.websocket.WebSocketClientConnection.on_pong方法来处理pong。