与'ws:// localhost:9090 /'的WebSocket连接失败:连接建立错误:net :: ERR_CONNECTION_REFUSED

时间:2017-06-15 19:58:37

标签: javascript node.js websocket webrtc

我是WebRTC和WebSockets的新手,并且正在按照本教程创建WebRTC演示项目,但我无法创建WebSocket连接。我遵循了项目中提到的相同步骤。 他的项目在端口8080上运行,他提到了ws:// localhost:9090。我的项目在端口8081上运行,但我复制了他的URL ws:// localhost:9090,因为我不知道9090的重要性,我收到此错误,我的服务器是node.js.我将本地主机更改为8081,但后来我发现握手错误。

与'ws:// localhost:9090 /'的WebSocket连接失败:连接建立错误:net :: ERR_CONNECTION_REFUSED。

7 个答案:

答案 0 :(得分:5)

Chrome不允许与localhost进行不安全的websocket(ws)连接(仅限wss,因此您应为本地Web / websocket服务器设置TLS证书)。 但是同样适用于Firefox。

答案 1 :(得分:2)

通常,WebRTC需要安全连接(即https)。 您遇到的错误是由于TLS / SSL证书占用,可能是您的项目中未正确配置它们。 提供有效的TLS / SSL证书并在项目中正确配置它,然后它将在没有上述错误的情况下工作。

答案 2 :(得分:1)

您需要使用ws://yourIp:9090/,而您的IP就像192.168.?.?

答案 3 :(得分:1)

尝试将端口更改为8080

const ws = new WebSocket('ws://localhost:8080/chat')

答案 4 :(得分:0)

端口9090被Reactotron使用。可能是您在项目中使用了它,并且您的应用程序无法与reactotron连接,因为它已关闭。只需打开Reactotron,错误就会消失。

答案 5 :(得分:0)

我想这是一个普通的websocket问题。

使用内置的location.host变量将url更改为动态名称,并在已设置TLS的情况下更改协议以保护网络套接字wss

const ws = new WebSocket("wss://" + location.host + "/")

答案 6 :(得分:0)

您也可以轻松更改 IP 地址到主机名的映射, 在 Windows 上转到 C:\Windows\System32\drivers\etc\hosts 并取消注释这一行 127.0.0.1 本地主机 保存并重启。