![](/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.