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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何响应龙卷风websocket中的服务器ping相关的知识,希望对你有一定的参考价值。

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

答案

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

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

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

以上是关于如何响应龙卷风websocket中的服务器ping的主要内容,如果未能解决你的问题,请参考以下文章

如何从本地机器公开龙卷风 websocket

如何使用 Python websockets 库获取“ping”调用的“pong”响应?

WebSocket 在烧瓶和龙卷风中的应用

完全停止线程龙卷风 WebSocket 服务器

我如何在我的 websocket 龙卷风中获得动态网址?

龙卷风 websocket 服务器 - 连接队列