我正在使用Closure客户端和Tornado服务器端。我创建一个套接字:

this.socket =  goog.net.WebSocket(true)

然后打开它:
this.socket.open(theSocketUrl)

一切正常,包括正确传递的消息。但是,每分钟一次(每60到61秒一次), socket 将关闭,然后重新打开。服务器端没有错误,并且不会调用Closure套接字错误事件。

我在 Tornado 中添加了日志记录,似乎正在调用on_connection_close(),然后调用了套接字的方法on_close()。 close()方法本身不会被调用。

知道为什么会这样吗?

最佳答案

您在 Tornado 服务器之前使用nginx或其他反向代理吗?我已经看到这种情况是在代理超时结束后发生的,然后nginx关闭连接,从而导致您看到的行为。

您可以在nginx中更改proxy_send_timeoutproxy_read_timeout来防止这种情况。只要确保在编辑proxy.conf时,就从主nginx.conf中包括了它即可。

关于websocket - Tornado WebSocket每分钟关闭一次,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16343013/

10-14 23:03