【发布时间】:2016-12-08 00:37:30
【问题描述】:
我正在尝试从服务器上的 django 频道示例运行多聊天项目。它可以在 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_LAYERS = {
"default": {
"BACKEND": "asgi_redis.RedisChannelLayer",
"CONFIG": {
"hosts": [(redis_host, 62031)],
},
"ROUTING": "multichat.routing.channel_routing",
},
}
Twisted 版本是 16.2.0。
非常感谢任何有关查看方向的帮助或提示。
【问题讨论】:
-
嗨,我也面临同样的问题。你能帮忙吗?
标签: django channels django-channels