2013-05-02 115 views
6

我正在使用Closure客户端和Tornado服务器端。我创建了一个插座:Tornado WebSocket每分钟关闭一次

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

,然后打开它:

this.socket.open(theSocketUrl) 

每个工作正确传递罚款包括邮件。但是,每分钟一次(每60到61秒一次),套接字关闭然后重新打开。服务器端没有错误,并且Closure套接字错误事件没有被调用。

我已经将日志记录添加到龙卷风,并且似乎正在调用on_connection_close(),然后调用套接字的方法on_close()。 close()方法本身不会被调用。

任何想法,为什么这可能会发生?

回答

3

您是否在龙卷风服务器前使用nginx或其他反向代理?当代理超时过去,然后nginx关闭连接时,我看到了这种情况,导致您看到的行为。

您可以更改nginx中的proxy_send_timeoutproxy_read_timeout以防止出现这种情况。只要确保在编辑proxy.conf时,将其包含在主nginx.conf中。