我目前正在使用线程标题中提到的技术开展一个项目。
我从浏览器中运行它(应用程序托管在 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
现在一个想法是,这可能是一个 CORS 问题。所以我安装django-cors-middleware
了希望这可以解决问题 - 好吧它没有。但我认为该应用程序根本不会向 Daphne 服务器添加任何标头。
目前我不知道问题是在客户端还是在服务器端。
有没有人遇到过类似的问题?
编辑:发现 websockets 和 CORS 没有任何关系为什么 WebSockets 没有同源策略?为什么我可以连接到 ws://localhost? 所以我的猜测是,服务器可能会拒绝客户端发送的原始标头。我会看看我是否可以得到正在发送的标题