如何响应龙卷风websocket中的服务器ping

时间:2018-01-02 14:28:59

标签: python websocket tornado


我在龙卷风中编写了一个websocket服务器,我使用websocket_ping_interval=60来检测60秒后哪个连接真正关闭。但是在60秒后服务器断开链接(即使它已断开连接)。我认为这样做是因为服务器每60秒发送一个ping数据包,客户端不响应服务器。我希望客户端(用websocket python模块编写)在服务器发送ping请求时响应服务器。
我在浏览器中遇到与客户端websocket相同的问题。任何想法如何解决?

1 个答案:

答案 0 :(得分:0)

Tornado的websocket实现自动处理ping(大多数其他实现也是如此)。你不应该做任何事情。

Tornado的ping超时默认为ping间隔的3倍,所以如果你在60秒而不是180秒后被切断,那么还有其他东西在做。某些代理的空闲连接超时为60秒,因此如果您正在通过其中一个代理,则可能需要较短的ping间隔。

如果不是这样,您需要提供更多详细信息,最好是使用客户端和服务器代码进行可重现的测试设置。