0

sockjs-tornado チャット サンプルに基づいてインスタント メッセージング アプリケーションを開発しています。私のコードは非同期です。

このスタック トレースを持つ:

ERROR:root:Exception in callback <tornado.stack_context._StackContextWrapper object at 0x80932c788>
Traceback (most recent call last):

File "/usr/local/lib/python2.7/site-packages/tornado/ioloop.py", line 421, in _run_callback
    callback()

File "/usr/local/lib/python2.7/site-packages/tornado/iostream.py", line 305, in wrapper
    callback(*args)

File "/usr/local/lib/python2.7/site-packages/sockjs/tornado/websocket.py", line 661, in _on_frame_data
    self._receive_frame()

File "/usr/local/lib/python2.7/site-packages/sockjs/tornado/websocket.py", line 580, in _receive_frame
    self.stream.read_bytes(2, self._on_frame_start)

File "/usr/local/lib/python2.7/site-packages/tornado/iostream.py", line 166, in read_bytes
    self._try_inline_read()

File "/usr/local/lib/python2.7/site-packages/tornado/iostream.py", line 382, in _try_inline_read
    self._check_closed()

File "/usr/local/lib/python2.7/site-packages/tornado/iostream.py", line 565, in _check_closed
    raise IOError("Stream is closed")
IOError: Stream is closed

チャット参加者リストから閉じた接続への参照を削除する必要がある場合、この例外を処理する方法は何ですか?

ありがとう

4

1 に答える 1

0

この例外は、ユーザーが Websocket 接続を適切に閉じずにドロップした場合 (ネットワーク エラーなど) に発生します。

どちらの場合でもon_close、チャット参加者リストからユーザーを削除できるように、ハンドラーが呼び出されます。

于 2012-12-31T08:31:08.453 に答える