3

我正在尝试使用 flash 和 rtmfp 协议开发实时视频聊天应用程序,但我对 rtmfp 如何保证连接对等点存有疑问,尤其是当对等点位于不同的网络中时。

4

1 回答 1

7

RTMFP 依靠中央集合服务器来“引入”2 个位于不同网络中并且可能位于防火墙后面的客户端。为了通过防火墙导航,它使用NAT 穿越技术,基本上相当于:

  • 2 个客户端(Joe 和 Mary)连接到中央集合服务器
  • Joe 与 Mary 共享他的 peer ID,或者他们可以使用共享的NetGroup ID
  • Mary 与中央会合服务器通信,然后使用各种 NAT 和防火墙穿越技术建立对等 2 对等 UDP 连接

无法保证任何 2 个客户端网络/防火墙与 RTMFP P2P 连接兼容(您可以使用RTMFP 连接测试仪进行诊断),这就是 Adob​​e 通过其LiveCycle Collaboration ServiceAdob​​e Flash Media Server提供备用解决方案到中央中继服务的原因(如果无法建立直接 P2P 连接,基本上所有网络流量都将通过两个客户端都可以公开访问的服务器。

Adobe 的 RTMFP 是其对 Peer 2 Peer 网络会合服务的专有捆绑,并提供了一些其他更高级别的 P2P 网络网格功能。

如果您对更开放的标准 P2P 协议感兴趣,您应该研究WebRTC。本质上,WebRTC 与允许客户端通过 UDP 连接 P2P 的概念相同,但旨在被用作 Web 浏览器标准,并且还可以在其使用标准 NAT 的引擎盖下在各种本机设备(例如 Android、iPhone 等)上实现和使用STUNICETURNRTP-over-TCP 的防火墙穿越技术和对代理的支持。我相信 WebRTC 是在libjingle P2P Google Talk 库中完成的一些工作的标准化。

于 2012-10-17T05:42:47.040 回答