我正在尝试从服务器上的 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",
},
}
扭曲版本是 16.2.0。
非常感谢任何有关查看方向的帮助或提示。