【问题标题】:Can you connect client to client via web sockets without touching the server?您可以在不接触服务器的情况下通过 Web 套接字将客户端连接到客户端吗?
【发布时间】:2011-12-22 13:03:02
【问题描述】:

我不太清楚如何在 google 中搜索:

  • “客户端到客户端的 websocket 连接”
  • “浏览器到浏览器 websockets”
  • “没有服务器的 websockets”

哈哈,有没有办法让浏览器中网页上的某个人直接与浏览器中网页上的另一个人通信,而无需接触服务器?

我对@9​​87654321@ 非常熟悉,但这需要所有客户端emit 向服务器发送消息,服务器可以broadcast 向其他连接的客户端发送消息。不过我不熟悉网络套接字的细节,所以也许有一种方法可以在不通过服务器发送消息的情况下进行通信。

这可能吗?我只想知道 web socket 功能的范围,你也可以接受它们的限制等等。

【问题讨论】:

标签: javascript node.js tcp websocket


【解决方案1】:

不是 Web Sockets,而是四年后,现在我们有了浏览器到浏览器的通信!
http://www.webrtc.org/

围绕它构建了一些 JS 库以使其更容易(例如https://simplewebrtc.com/)。但是,它仍然需要服务器来协调连接。

我知道这个问题很古老,但是当我搜索时它出现在 Google 中,所以它可能会出现在其他人身上!

【讨论】:

    【解决方案2】:

    这是不可能的,你必须把服务器放在中间。

    【讨论】:

      【解决方案3】:

      为了让应用程序接受连接,它必须打开一个服务器端口并监听传入的请求。您不能从浏览器中公开服务器套接字。我不知道您是否可以从小程序中公开服务器套接字。但即使可以,您也需要知道其他客户端的 IP 地址才能建立对等连接。

      【讨论】:

        【解决方案4】:

        好吧,从技术上讲,当您broadcast,客户端emits 到服务器时,服务器向所有人广播。我不认为像这样的网络点对点连接的当前架构是可能的。

        但是有可能一个客户端向服务器发送一个指定另一个客户端 ID 的消息,而服务器使用 sessions 将它发送给其他客户端。

        【讨论】:

          【解决方案5】:

          当你有一个客户端监听 websockets(你必须在其他地方进行通信)时,它就变成了一个服务器。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2017-02-25
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多