在Google Chrome瀏覽器中,我無法與我的服務器建立套接字連接。 獲取有時這在控制檯(黃色):AngularJS:在Google Chrome中建立連接之前,WebSocket已關閉
WebSocket connection to 'ws://www.mywebsite.com/socket.io/?EIO=3&transport=websocket&sid=u_g7zfNFByPmMnnfAAAH' failed: WebSocket is closed before the connection is established.
並在此之後(但不總是):響應
POST http://www.mywebsite.com/socket.io/?EIO=3&transport=polling&t=1451326926027-5&sid=8MlGZTYdQ256ECoAAAAJ 400 (Bad Request)
聞聽此事:
{"code":1,"message":"Session ID unknown"}
我要刷新很多次,所以頁面可以連接。 在Firefox中,大部分時間相同的代碼工作正常,但有時我會得到它。
Firefox can't establish a connection to the server at ws://www.mywebsite.com/socket.io/?EIO=3&transport=websocket&sid=tDQpo6ynbIik6FUUAAAS.
instance = new WebSocket(uri);
socket.io.js (line 5310)
The connection to ws://www.mywebsite.com/socket.io/?EIO=3&transport=websocket&sid=tDQpo6ynbIik6FUUAAAS was interrupted while the page was loading.
instance = new WebSocket(uri);
如果我在本地運行我的服務器,代碼在瀏覽器中工作正常,沒有任何問題。 我的服務器位於運行在nginx代理下的node.js中。我按照配置配置插座支持nginx的: -
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
我怎麼能保證我的WebSocket將連接而無需刷新頁面? 我使用btford以角度實現套接字。
,託管服務器是Ubuntu的64位服務器,以及如何獲得這個動態會話?如果這是問題,那麼爲什麼代碼大部分時間在Chrome上工作,並在鉻上有時 – vineetv2821993
我更新了我的答案,評論這似乎不是很好:),更好的運氣:) –
謝謝@krishnakumar sekar。讓我檢查這是否工作:)。我會盡快更新。 – vineetv2821993