Django 通道套接字未连接到消费者

Django channels socket not connecting to consumer

我是套接字编程的新手,我有点被一个问题困住了。我的客户端没有连接到消费者。

JavaScript代码

<script>
    // websocket scripts
    var socket = new WebSocket("ws://127.0.0.1:8000/test/")
</script>

路由

application = ProtocolTypeRouter({
    # (http->django views is added by default)
    'websocket': AuthMiddlewareStack(
        URLRouter(
            [
                url(r'^ws/test', consumers.TestConsumer),
            ]
        )
    ),
})

错误

WebSocket connection to 'ws://127.0.0.1:8000/test/' failed: Error during WebSocket handshake: net::ERR_CONNECTION_RESET

你应该尝试 ws://127.0.0.1:8000/ws/test-view/ 而不是 ws://127.0.0.1:8000/test-view/

application = ProtocolTypeRouter({
    # (http->django views is added by default)
    'websocket': AuthMiddlewareStack(
        URLRouter(
            [
                url(r'^ws/test-view', consumers.TestConsumer),
            ]
        )
    ),
})

此处'webosocket'定义您正在使用ws://协议,但url(r'^ws/test-view', consumers.TestConsumer)定义您要在localhost后添加/ws/test-view/以连接到它。