2013-05-02 12 views
6

私はClosureクライアント側とTornadoサーバー側を使用しています。私はソケットを作成します。その後、Tornado WebSocketが1分に1回閉じます

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

して開きます:

this.socket.open(theSocketUrl) 

すべてが正しく渡されるメッセージなど正常に動作します。ただし、1分に1回(60〜61秒に1回)、ソケットが閉じてから再び開きます。サーバー側にエラーはなく、Closureソケットエラーイベントは呼び出されません。

私は竜巻にログを追加しました。何かがon_connection_close()を呼び出しているようで、ソケットのメソッドon_close()を呼び出しています。 close()メソッド自体は呼び出されません。

これはなぜ起こっているのでしょうか?

答えて

3

あなたの竜巻サーバーの前でnginxやその他の逆プロキシを使用していますか?私はこれがプロキシのタイムアウトが経過し、nginxが接続を閉じて、あなたが見ている動作を引き起こしたときに起こるのを見ました。

これを防ぐには、nginxのproxy_send_timeoutproxy_read_timeoutを変更することができます。 proxy.confを編集するときは、あなたのメインのnginx.confからそれを含めるようにしてください。

関連する問題