iT邦幫忙

1

FireFox 無法進行 WebSocket 連線

我有一個網頁會和伺服器進行 WebSocket 的連線,所有瀏覽器都沒問題,就 Firefox 會連線失敗。跳了一個 「Firefox 無法與伺服器 ws://xxx.xxx.xxx.xxx:xxxxx/ 建立連線」。

查了一下是說 FireFox 在默認下是關閉 WebSocket 的,雖然有打開的方法,但是要進入設定檔去改。請問除此之外還有什麼方法可以用程式碼打開,或是讓 FireFox 連線 WebSocket 嗎?

還請大家幫幫忙。謝謝。

fillano iT邦超人 1 級 ‧ 2018-08-13 09:55:25 檢舉
about:config然後用websocket當作關鍵字來過濾,看看有哪些可疑的設定。例如:network.websocket.allowInsecureFromHTTPS等等,另外,有沒有開啟或關閉的設定?(我是沒看到開啟或關閉的設定,所以一定是開啟的。上面提到這個設定,是當你在https時要轉換到WebSocket協定,是否可以允許ws,還是只能用wss等等)

1 個回答

2
黃彥儒
iT邦好手 1 級 ‧ 2018-08-12 17:51:58

https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API

沒有吧,你是不是用到舊的協議,所以不被支援?

看更多先前的回應...收起先前的回應...
froce iT邦高手 1 級 ‧ 2018-08-12 18:24:05 檢舉

我也覺得奇怪,我之前玩的websocket難道是幻覺!?
不過ff早期的版本的確因為安全性問題也關掉一陣子就是了

tachibana iT邦新手 5 級 ‧ 2018-08-13 14:06:01 檢舉

抱歉,我不太清楚新舊協議的差別。
我是用 new WebSocket(url) 去進行連線,請問協議是 Client 端這邊處理,還是 Server 端?

黃彥儒 iT邦好手 1 級 ‧ 2018-08-13 14:21:30 檢舉

Server

fillano iT邦超人 1 級 ‧ 2018-08-13 14:36:35 檢舉

RFC6455已經出來幾年了,FF也在2016就支援。建議用開發工具看一下網路運作的細節。(WebSocket會從http/https開始,然後做協定升級,驗證,最後才完成連線,傳送frame)另外,伺服器端是用什麼?

tachibana iT邦新手 5 級 ‧ 2018-08-13 15:10:00 檢舉

只知道用 C++ ,因為我不會接觸 Server 端的人員,需要先釐清問題。
所以我需要請伺服器端使用 RFC6455 這個協議嗎? 先謝謝兩位抽空回覆

fillano iT邦超人 1 級 ‧ 2018-08-14 09:23:10 檢舉

WebSocket協定的標準就是RFC6455啦。你從瀏覽器的開發工具可以看到什麼蛛絲馬跡嗎?

tachibana iT邦新手 5 級 ‧ 2018-08-14 10:10:29 檢舉

看不出來。只有得到一個 「Firefox 無法與伺服器 ws://xxx.xxx.xxx.xxx:xxxxx/ 建立連線」 報錯。
因為我用的已經很簡單,只有 new WebSocket(url) ,所以也不太清楚問題在哪。還是有哪邊我漏掉了?

我要發表回答

立即登入回答