【发布时间】:2018-05-02 10:16:10
【问题描述】:
在我的 Django 项目中,我想使用频道创建一个聊天应用程序。但是当我按照本教程进行操作时: https://channels.readthedocs.io/en/stable/tutorial/part_2.html,我遇到了连接后websocket自动断开连接的问题:
Exception in callback AsyncioSelectorReactor.callLater.<locals>.run()
at
C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\lib\site-packages\twisted\internet\asyncioreact
or.py:287 handle: <TimerHandle when=19405.993
AsyncioSelectorReactor.callLater.<locals>.run() at
C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\lib\site-packages\twisted\interne
t\asyncioreactor.py:287> Traceback (most recent call last): File
"C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\lib\asyncio\events.py",
line 145, in _run
self._callback(*self._args) File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\lib\site-packages\twisted\internet\asyncioreactor.py",
line 290, in run
f(*args, **kwargs) File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\lib\site-packages\twisted\internet\tcp.py",
line 289, in connectionLost
protocol.connectionLost(reason) File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\lib\site-packages\autobahn\twisted\websocket.py",
line 128, in connectionLost
self._connectionLost(reason) File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\lib\site-packages\autobahn\websocket\protocol.py",
line 2467, in _connectionLost
WebSocketProtocol._connectionLost(self, reason) File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\lib\site-packages\autobahn\websocket\protocol.py",
line 1096, in _connectionLost
self._onClose(self.wasClean, WebSocketProtocol.CLOSE_STATUS_CODE_ABNORMAL_CLOSE, "connection was
closed uncleanly (%s)" % self.wasNotCleanReason) File
"C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\lib\site-packages\autobahn\twisted\websocket.py",
line 171, in _onClose
self.onClose(wasClean, code, reason) File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\lib\site-packages\daphne\ws_protocol.py",
line 146, in onClose
self.application_queue.put_nowait({ AttributeError: 'WebSocketProtocol' object has no attribute 'application_queue'
【问题讨论】:
-
嗨,你能解决这个问题吗?
-
不,我不是。 :(
-
我已经修好了。此错误上方应该是路径列表,并且在该路径的顶部是真正的错误。就我而言,它是路由 url。
-
@EduardAlbu 你能发布你的解决方案吗?
-
我已经修好了。在我的情况下关注@EduardAlbu,它没有迁移。
标签: django websocket django-channels