2012-12-10 43 views
0

我開發了基於sockjs,龍捲風聊天樣本即時消息應用程序。我的代碼是異步的。IO錯誤處理上Sockjs基旋風

有了這個堆棧跟蹤:

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 

什麼是處理這個異常的情況下,我不得不刪除從聊天參與者名單關閉的連接引用的方式嗎?當用戶刪除沒有正確關閉它(網絡錯誤等)WebSocket連接

感謝

+1

[你可以在這裏看到類似的情況] [1] [1]:http://stackoverflow.com/questions/11161626/tornado-server-throws-error-stream-is-closed – stirbu

+0

@stirbu:格式爲'[你可以在這裏看到類似的情況]'(http://stackoverflow.com/questions/11161626/tornado-server-throws-error-stream-is-closed)'。 – BrtH

回答

0

此異常情況發生。

在這兩種情況下,你的on_close處理器將被調用,所以你可以在聊天的參與者列表中刪除用戶。