Django频道:WebSocket连接失败

dly7yett  于 2023-05-22  发布在  Go
关注(0)|答案(1)|浏览(299)

WebSocket连接到'ws://127.0.0.1:8000/room/ws/tech'失败
我正在学习如何使用通道创建一个真实的Django应用程序,并遵循this教程。
然而,当我试图创建一个WebSocket时,它在控制台中向我抛出了这个错误:WebSocket connection to 'ws://127.0.0.1:8000/ws/tech/' failed
这就是我如何尝试创建一个WebSocket -

console.log("roomname: "+roomName);
    const chatSocket = new WebSocket(
        'ws://'
        + window.location.host
        + '/ws/'
        + roomName
        + '/'
    );

请放心,URL正在正确构建。当我将url部分替换为'ws://127.0.0.1:8000/room/ws/tech'并在浏览器控制台中手动运行时,它会抛出相同的错误。

bksxznpy

bksxznpy1#

默认情况下,通道4.0.0不会启动ASGI服务器。所以,尝试在www.example.com中将'daphne'添加到您的INSTALLED_APPS settings.py
第一个管道

pip install -U 'channels[dapne]' channels-redis

然后在你的Django设置文件中:

INSTALLED_APPS = [
    "daphne",
    ...
]

有关详细信息,请参阅Channels 4.0.0发行说明:* 网址:http:channels.readthedocs.io/en/stable/releases/4.0.0.html?highlight=INSTALLED_APPS#release-notes*

备选方案

将通道的版本降低到3.0.5似乎有效。
试试看

pip uninstall channels
pip install channels==3.0.5

相关问题