![](/img/trans.png)
[英]chrome extension WebSocket connection to 'ws://localhost:9090/' failed: Error in connection establishment: net::ERR_CONNECTION_REFUSED
[英]WebSocket connection failed: Error in connection establishment: net::ERR_CONNECTION_REFUSED
我是 WebRTC 和 WebSockets 的新手,正在按照本教程創建 WebRTC 演示項目,但我無法創建 WebSocket 連接。 我遵循了項目中提到的相同步驟。 他的項目在端口 8080 上運行,他提到了 ws://localhost:9090。 我的項目運行在 8081 端口,但我復制了他的 URL ws://localhost:9090 因為我不知道 9090 的意義,我收到了這個錯誤,我的服務器是 node.js。我也將本地主機更改為 8081 但是然后我收到握手錯誤。
WebSocket 與“ws://localhost:9090/”的連接失敗:連接建立時出錯:.net::ERR_CONNECTION_REFUSED。
Chrome 不允許不安全的 websocket (ws) 連接到本地主機(只有 wss,所以你應該為你的本地 web/websocket 服務器設置一個 TLS 證書)。 但是,Firefox 應該也能正常工作。
您需要使用ws://yourIp:9090/
,其中 yourIP 類似於192.168.?.?
.
嘗試將端口更改為 8080
const ws = new WebSocket('ws://localhost:8080/chat')
端口 9090 由 reactotron 使用。 可能你在你的項目中使用它並且你的應用程序無法連接 reactotron 因為它是關閉的。 只需打開reactotron,錯誤就會消失。
通常 WebRTC 需要安全連接(即 https)。 您遇到的錯誤是由於 TLS/SSL 證書被占用,可能是您的項目中未正確配置它們。 提供有效的 TLS/SSL 證書並在項目中正確配置它,然后它將正常工作而不會出現上述錯誤。
你能確定服務器是否正在運行嗎? 如果有 python 服務器文件,您可以嘗試通過 python3 server.py
運行該服務器。
就我而言,我忘記運行服務器,它給了我同樣的錯誤。
我想這是一個通用的 websocket 問題。
使用內置的location.host
變量將 url 更改為動態名稱,如果您已設置 TLS,則更改協議以保護 websocket wss
:
const ws = new WebSocket("wss://" + location.host + "/")
您也可以輕松更改 IP 地址到主機名的映射,在 Windows 上轉到 C:\\Windows\\System32\\drivers\\etc\\hosts 並取消注釋此行 127.0.0.1 localhost save 並重新啟動。
WebSocket 連接到 'ws://localhost:8080/' 失敗 必須確保服務器文件正在運行 I git 上述問題
也許你忘了啟動websocket服務器,再檢查一遍,在我的項目中配置,運行:
php artisan websocket:init
錯誤信息;
“與 'ws://localhost:9090/' 的 WebSocket 連接失敗:連接建立時出錯:.net::ERR_CONNECTION_REFUSED”
表示您的客戶端正在嘗試連接到位於ws://localhost:9090
的 WebSocket 服務器,但連接被拒絕。 這可能是因為:
port
或IP address
上運行。firewall
阻止連接。要解決此問題,請確保 WebSocket 服務器在正確的 IP 地址和端口上運行,並且它正在接受來自客戶端的連接。 如果您使用防火牆,請確保防火牆未阻止連接。 此外,您可能需要更新客戶端代碼中 WebSocket 服務器的 URL,以匹配您嘗試連接的服務器的正確 IP 地址和端口號。
例子:
這是一個 Node.js 客戶端嘗試連接到 WebSocket 服務器的示例:
const WebSocket = require('ws');
const ws = new WebSocket('ws://localhost:9090');
ws.on('open', function open() {
console.log('WebSocket connection established');
});
ws.on('error', function error(err) {
console.error('WebSocket connection failed:', err);
});
在此示例中,客戶端創建一個 WebSocket 連接到位於ws://localhost:9090
的服務器。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.