【问题标题】:WebSocket connection failed: Error in connection establishment: net::ERR_CONNECTION_REFUSEDWebSocket 连接失败:连接建立错误:net::ERR_CONNECTION_REFUSED
【发布时间】:2017-11-18 10:44:56
【问题描述】:

我是 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。

【问题讨论】:

  • 把港口想象成一扇门。您(客户)需要在房屋(服务器)中打开门才能进入。因此,如果您的服务器侦听端口 8081,则您(客户端)必须通过端口 8081 进行连接。粘贴您的整个代码,以便获得更多帮助。
  • tutorialspoint.com/webrtc/webrtc_rtcpeerconnection_apis.htm 如果我将本地主机更改为 8081,我将按照这些说明创建一个简单的 Web 应用程序 @sidewinder,然后出现此错误:WebSocket connection to 'ws://localhost:8081 /' 失败:在收到握手响应之前连接已关闭
  • 你能给我更好的教程链接吗? @sidewinder 我发现本教程非常简单,因为我是初学者
  • 如果你能给我一些更好的webRTC教程链接来开发应用程序,我会很高兴@sidewinder

标签: javascript node.js websocket webrtc


【解决方案1】:

Chrome 不允许不安全的 websocket (ws) 连接到 localhost(仅限 wss,因此您应该为本地 web/websocket 服务器设置 TLS 证书)。 但是,Firefox 应该也可以正常工作。

【讨论】:

  • 我尝试使用 url var wsUri = "ws://localhost:55195/" 运行 websocket,它说 WebSocket 连接到 'ws://localhost:55195/' 失败:一直在寻找从 4 天开始解决这个问题,仍然没有得到代码有什么问题?任何解决此问题的建议将不胜感激。让我知道是否有人也需要查看代码!提前致谢。
【解决方案2】:

通常 WebRTC 需要安全连接(即 https)。 您遇到的错误是由于 TLS/SSL 证书被占用,可能是它们在您的项目中没有正确配置。 提供有效的 TLS/SSL 证书,并在项目中正确配置,就可以正常工作,不会出现上述错误。

【讨论】:

  • 这是边界线link-only answer。您应该在此处扩展您的答案以包含尽可能多的信息,并使用该链接仅供参考。
【解决方案3】:

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

【讨论】:

    【解决方案4】:

    尝试将端口更改为 8080

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

    【讨论】:

    • 这里chat的意义是什么?那不是无效端口吗?
    • 这是 wesockets 服务器服务器 url 中的路径,例如/chat 用于您的聊天消息,/matches 用于您的火种匹配等,可能是出于一些扩展问题
    【解决方案5】:

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

    【讨论】:

      【解决方案6】:

      我猜这是一个通用的 websocket 问题。

      使用内置的location.host 变量将 url 更改为动态名称,并更改协议以保护 websocket wss(如果您已设置 TLS):

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

      【讨论】:

        【解决方案7】:

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

        【讨论】:

          猜你喜欢
          • 2016-01-29
          • 1970-01-01
          • 2015-05-02
          • 2015-12-17
          • 1970-01-01
          • 2019-08-30
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多