gpt4 book ai didi

django channel websocket 连接不工作

转载 作者:行者123 更新时间:2023-12-02 07:12:26 26 4
gpt4 key购买 nike

我正在尝试从服务器上的 django Channels-examples 运行多聊天项目。它可以在 Windows 计算机上本地运行,但是当我将其放在 Linux 服务器上并使用 runserver 启动它时,它不会:

./manage.py runserver

然后,当我调用该网站时,它会正确显示,但是一旦 JS 向其发送 websocket 请求,我总是会得到以下响应:

[2016/08/02 14:35:48] HTTP GET /chat/stream/ 404 [0.04, 127.0.0.1:40186]
....(many lines of this)

因此 websocket 请求被作为 http 请求处理。响应应该是这样的:

[2016/08/02 16:34:45] WebSocket CONNECT /chat/stream/ [127.0.0.1:60250]

我不知道哪里出了问题。 http 与 websocket 的路由似乎是在 daphne/twisted/内部深处的某个地方完成的...

我的 channel 设置是(如果有任何帮助的话):

CHANNEL_LAYERS = {
"default": {
"BACKEND": "asgi_redis.RedisChannelLayer",
"CONFIG": {
"hosts": [(redis_host, 62031)],
},
"ROUTING": "multichat.routing.channel_routing",
},
}

Twisted 版本为 16.2.0。

非常感谢任何有关寻找方向的帮助或提示。

最佳答案

想到的一些问题/建议:

Linux 服务器是用于开发还是生产? IE。是否有 HTTP 服务器或只是运行普通的 DJANGO? (在前一种情况下,您不以“./manage runserver”开头。)

"Then when I call up the website, it is shown correctly ..."

这是因为请求的端口号不同吗? 40186 与 60250。

您收到 404,例如未找到网址。这可以是 DJANGO 的 HTTP 服务器的响应。

关于django channel websocket 连接不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38724126/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com