2012-10-16 58 views
3

我正在嘗試開發一個使用flash和rtmfp協議的實時視頻聊天應用程序,但我懷疑 rtmfp如何保證連接對等點,尤其是當對等點位於不同網絡中時。rtmfp/UDP的工作原理

+1

RTMFP和Skype *打孔*在防火牆:http://www.h-online.com/security/features/How-Skype-Co-get-round-firewalls-747197.html –

回答

7

RTMFP依賴中央聚集服務器上的「引入」 2個客戶端位於不同的網絡和潛在的背後防火牆。要通過防火牆導航它使用NAT traversal techniques基本上相當於:

  • 2客戶端(喬和瑪麗)連接到中央會合服務器
    • Adob​​e的公共RTMFP(非商業)會合服務器RTMFP:// p2p.rtmfp.net/
    • 或者你可以使用GPL開源的CumulusArcusNode舉辦自己的
  • 喬分享了他對ID與瑪麗或者他們可以使用一個共享的NetGroup ID
  • 瑪麗與隨後使用各種NAT和防火牆穿越技術來建立一個對等體2等的UDP連接

中央會合服務器通信沒有保證任何2個客戶端網絡/防火牆是兼容對於RTMFP P2P連接(你可以用RTMFP connection tester診斷),這就是爲什麼的Adobe通過他們LiveCycle Collaboration ServiceAdobe Flash Media Server提供後備解決方案,如果直接P2P中央中繼服務(基本上所有網絡通信將通過這兩個客戶端可以公開訪問服務器)連接無法建立。

Adob​​e的RTMFP是他們的同行2等網絡rendevous服務的專有捆綁,以及提供其他一些高層次的P2P網絡網功能。

如果你有興趣在一個更開放的標準P2P協議你應該看看WebRTC。基本上WebRTC與允許客戶端通過UDP連接P2P相同的概念,但適合作爲Web瀏覽器標準採用,也可以在各種本地設備(例如Android,iPhone等)上實現,它使用標準NAT並使用STUNICETURNRTP-over-TCP和代理支持防火牆穿越技術。我相信WebRTC是在libjingle P2P Google Talk庫中完成的一些工作的標準化。