RTMFP / UDP是如何工作的?

3

我正在尝试使用Flash和RTMFP协议开发实时视频聊天应用,但我对RTMFP如何确保连接对等方存在疑虑,特别是当对等方位于不同的网络中。


1
RTMFP和Skype可以在防火墙中打洞:http://www.h-online.com/security/features/How-Skype-Co-get-round-firewalls-747197.html - Alexander Farber
1个回答

7
RTMFP依赖于中央约会服务器来“介绍”处于不同网络且潜在受到防火墙限制的2个客户端。为了穿越防火墙,它使用NAT穿透技术,其本质上是:
  • 2个客户端(Joe和Mary)连接到中央约会服务器
    • Adobe的公共RTMFP(非商业)约会服务器rtmfp://p2p.rtmfp.net/
    • 或者您可以使用GPL开源的CumulusArcusNode托管自己的服务器
  • Joe与Mary共享其对等ID,或者他们可以使用共享的NetGroup ID
  • Mary与中央约会服务器通信,然后使用各种NAT和防火墙穿透技术建立点对点的UDP连接

不能保证任何两个客户端的网络/防火墙都兼容RTMFP P2P连接(您可以使用 RTMFP连接测试工具进行诊断),这就是为什么Adobe通过其 LiveCycle协作服务 Adobe Flash媒体服务器提供备用解决方案,以便将所有网络流量传递到中央中继服务(基本上,两个客户端都可以公开访问该服务器)如果无法建立直接的P2P连接。

Adobe的RTMFP是他们专有的Peer 2 Peer网络汇合服务的捆绑,还提供了一些其他更高级别的P2P网络网状特性。

如果您对更开放的标准P2P协议感兴趣,您应该了解WebRTC。基本上,WebRTC是相同的概念,允许客户端通过UDP连接P2P,但面向被采用为Web浏览器标准,并且可以在各种本机设备(例如Android、iPhone等)上实现。在底层,它使用标准NAT和防火墙穿越技术,使用STUNICETURNRTP-over-TCP和代理支持。我认为WebRTC是libjingle P2P Google Talk库中完成的部分工作的标准化。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接