Django restframework,Django频道,Ionic 2 - websocket握手错误

pla*_*rsh 5 django django-rest-framework ionic-framework django-cors-headers django-channels

我目前正在使用线程标题中提到的技术开展项目.

我从浏览器运行它(应用程序托管在heroku上),但是当我尝试从Ionic 2应用程序连接到websockets时,我总是在建立握手时出错.

2016-09-17T15:02:03.200133+00:00 app[web.1]: 2016-09-17 15:02:03,199 DEBUG    Connection http.response!uvRVDyvolYEG did not get successful WS handshake.

2016-09-17T15:02:03.200498+00:00 app[web.1]: 2016-09-17 15:02:03,200 DEBUG    WebSocket closed before handshake established

2016-09-17T15:02:03.169206+00:00 heroku[router]: at=info method=GET path="/1/" host=musicmashup-jukebox.herokuapp.com request_id=c46960d7-bb8f-45bf-b8be-5a934c771d96 fwd="212.243.230.222" dyno=web.1 connect=0ms service=7ms status=400 bytes=74
Run Code Online (Sandbox Code Playgroud)

现在有一个想法是,它可能是一个CORS问题.所以我安装django-cors-middleware希望这可以解决问题 - 好吧它没有.但我认为应用程序根本不会向Daphne服务器添加任何标头.

目前我不知道,如果问题出在客户端或服务器端.

有没有人遇到类似的问题?

编辑:发现websockets和CORS彼此没有任何关系为什么WebSockets没有同源策略?为什么我可以连接到ws:// localhost? 所以我的猜测是,服务器可能会拒绝客户端发送的原始标头.我会看看我是否可以抓住发送的标题