Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x Django通道2.0 websocketbridge.js 403当self.code(code=1007)时_Python 3.x_Websocket_Django Channels - Fatal编程技术网

Python 3.x Django通道2.0 websocketbridge.js 403当self.code(code=1007)时

Python 3.x Django通道2.0 websocketbridge.js 403当self.code(code=1007)时,python-3.x,websocket,django-channels,Python 3.x,Websocket,Django Channels,我正在为聊天室运行django Channel 2.0。在连接期间,我检查房间名称。如果它不存在,我将使用self.code(code=1007)拒绝连接。ASGI日志显示成功的拒绝,如下所示: WebSocket REJECT /ws/discuss/asdf/asdf1 Error during WebSocket handshake: Unexpected response code: 403 但是,在客户端,js库websocketbridge(来自安装的库存)抛出了一个意外的异常,

我正在为聊天室运行django Channel 2.0。在连接期间,我检查房间名称。如果它不存在,我将使用self.code(code=1007)拒绝连接。ASGI日志显示成功的拒绝,如下所示:

WebSocket REJECT /ws/discuss/asdf/asdf1
Error during WebSocket handshake: Unexpected response code: 403
但是,在客户端,js库websocketbridge(来自安装的库存)抛出了一个意外的异常,如下所示:

WebSocket REJECT /ws/discuss/asdf/asdf1
Error during WebSocket handshake: Unexpected response code: 403
打印以控制台收到的参数时。我得到以下信息:

CloseEvent {isTrusted: true, wasClean: false, code: 1006...
我想捕捉前端消费者抛出的错误代码1007,这样我就可以优雅地处理拒绝

任何帮助都将不胜感激


提前感谢。

我犯的错误是,在消费者的连接方法中,我没有使用self.accept()接受问题。我首先接受了连接,并在评估条件后发布了一个self.close(代码=4004)。我可能错了,但我希望在满足条件之前不会接受连接。

您是否设法解决了此问题?我也有同样的问题,无论我在self.close中指定了什么代码,CloseEvent总是:
CloseEvent{isTrusted:true,wasClean:false,code:1006…
谢谢你的回答,这也帮了我。我在Django用户组中提出了这个问题,这是预期的行为:自定义关闭代码只能在接受套接字后返回。在接受之前关闭它会导致返回http 403和关闭代码然后是特定于浏览器的(但通常是1006)。