【问题标题】:Peer-to-peer Javascript & something点对点 Javascript 和其他东西
【发布时间】:2018-11-13 11:47:27
【问题描述】:

我正在寻找一种使用 p2p 将客户端(Web 浏览器)连接到服务器(没有外部 IP)的方法。

作为客户端语言,我想使用 javascript。

我正在阅读有关 WebRTC Peer-to-peer 但我不知道它是否仅适用于两个客户端(javascript)或者我是否可以使用其他语言(PHP、Python、Node.js)。

我了解信令、STUN 和 TURN 服务器。我有外部 IP 地址的服务器,所以不会有问题。

我的问题是我可以在服务器上使用什么编程语言?

【问题讨论】:

  • 使用websocket怎么样?在 JS 中有一个非常好的库,叫做 socket.io... WebRTC 更多地用于视频和音频 p2p。你的目标是什么?也许 websocket 可以解决你的问题
  • 我的目标只是发送和接收文本格式的数据。

标签: javascript python node.js p2p peer


【解决方案1】:

如果您使用Kurento 媒体服务器,实际上您可以避免使用其他语言。它有像原生的javascript。它非常适合与 Node.js 后端一起使用。

还有Janus-Gateawey 有大量的JavaScript API 并允许在您想要的任何语言上构建后端。管理所有 webRTC 事情发生在客户端。如果您至少在基本层面上了解 webRTC 和 JS,那就太棒了。

对于从 python 背面控制 webRTC,您可以使用 aiortc

如果您只需要发送/接收文本数据,那么socket.io 与例如python-socket.io(在服务器端)就是你所需要的

【讨论】:

    【解决方案2】:

    我添加到 Andrey Suglobov 的回答中:客户端没有收到来自服务器的 WebRTC 数据包,因为它没有外部 IP。为了解决这个问题,你必须将其配置为通过中间的TURN服务器进行通信。

    [WebRTC 服务器] ↔ [TURN] ↔ [NAT] ↔ [客户端]

    通常,客户端使用 JavaScript,因为它是一个浏览器。但是WebRTC是一种支持网络上P2P的规范。如果支持这个规范,那么你使用什么编程语言都没有关系。

    谢谢。

    【讨论】:

      【解决方案3】:

      大概找到了答案。 我可以在 node.js 中使用 javascript 服务器端

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-03-12
        • 1970-01-01
        • 1970-01-01
        • 2016-01-22
        • 1970-01-01
        • 2011-01-27
        相关资源
        最近更新 更多