我正在尝试使用flash和rtmfp协议开发一个实时视频聊天应用,但我对此表示怀疑 rtmfp如何保证连接对等体,特别是当对等体位于不同的网络中时。
答案 0 :(得分:7)
RTMFP依靠中央会合服务器来“引入”位于不同网络中并可能位于防火墙后面的2个客户端。要浏览防火墙,它使用的NAT traversal techniques基本上等于:
无法保证任何2个客户端网络/防火墙与RTMFP P2P连接兼容(您可以使用RTMFP connection tester进行诊断),这就是Adobe通过LiveCycle Collaboration Service或{{3}提供后备解决方案的原因如果无法建立直接的P2P连接,则中央中继服务(基本上所有网络流量都将通过两个客户端都可以公开访问的服务器)。
Adobe的RTMFP是他们专有的Peer 2 Peer网络渲染服务捆绑服务,以及提供其他一些更高级别的P2P网络网格功能。
如果您对更开放的标准P2P协议感兴趣,请查看Adobe Flash Media Server。基本上,WebRTC是允许客户端通过UDP连接P2P但同样适合作为Web浏览器标准使用的概念,也可以在各种本机设备(例如Android,iPhone等)上实现,它使用标准NAT和防火墙遍历技术使用WebRTC,STUN,ICE,TURN和代理支持。我相信WebRTC是RTP-over-TCP P2P Google Talk库中完成的一些工作的标准化。