【问题标题】:How to perform P2P streaming video behind NATs using Java如何使用 Java 在 NAT 后面执行 P2P 流视频
【发布时间】:2012-09-03 20:09:28
【问题描述】:

我们有一个应用程序使用 XMPP 在两个客户端之间进行通信;目标系统和智能手机(Android 或 iPhone)。两个客户端在 XMPP 服务器上使用相同的帐户来查找和发送消息给对方。这种架构工作正常,但现在我们需要设置流式视频(目标到手机)。使用 XMPP 速度太慢,因此需要点对点 (P2P) 解决方案。由于两个客户端(目标和电话)都位于本地网络路由器之后,因此该解决方案需要处理 NAT/防火墙穿越,因此需要使用 TCP 来确保数据包按顺序传递。

使用另一个公共服务器,我们可以获得客户端路由器的全局IP地址和端口。此信息使用 XMPP 消息在客户端之间进行通信。天真的方法是使用用于访问公共服务器的相同端口在目标客户端上设置服务器套接字。因此,电话客户端被设置为使用目标客户端的全局地址和端口与目标客户端建立连接。

永远不会建立连接。谁能告诉我这种方法的缺陷或建议一种不需要专用服务器的替代方法?提前致谢。

【问题讨论】:

    标签: video-streaming p2p


    【解决方案1】:

    你可以试试Ice4j。它几乎支持您正在寻找的内容。

    【讨论】:

    • 只知道它正在开发和更新,但文档和教程有限......
    【解决方案2】:

    Ice4J tutorial,但在新位置获取 Ice4J:https://github.com/jitsi/ice4j

    这个包几乎可以让你做你想做的事。

    【讨论】:

      猜你喜欢
      • 2011-05-23
      • 2012-12-31
      • 2010-11-03
      • 2014-09-21
      • 2021-03-17
      • 2021-01-18
      • 1970-01-01
      • 2021-12-23
      • 1970-01-01
      相关资源
      最近更新 更多