フラッシュと rtmfp プロトコルを使用してライブ ビデオ チャット アプリを開発しようとしていますが、特にピアが異なるネットワークにある場合に、rtmfp がピアの接続を保証する方法について疑問があります。
1 に答える
RTMFP は、中央のランデブー サーバーに依存して、異なるネットワーク内にあり、ファイアウォールの背後にある可能性がある 2 つのクライアントを「紹介」します。ファイアウォールを通過するために、本質的に次のようなNAT トラバーサル技術を使用します。
- 2 つのクライアント (Joe と Mary) が中央のランデブー サーバーに接続します。
- Adobe の公開 RTMFP (非商用) ランデブー サーバー rtmfp://p2p.rtmfp.net/
- または、GPL オープン ソースのCumulusまたはArcusNodeを使用して独自のものをホストすることもできます。
- Joe は彼のピア ID を Mary と共有するか、共有されたNetGroup IDを使用できます
- メアリーは中央ランデブー サーバーと通信し、そこでさまざまな NAT およびファイアウォール トラバーサル技術を使用してピア 2 ピア UDP 接続を確立します。
任意の 2 クライアント ネットワーク/ファイアウォールが RTMFP P2P 接続と互換性があるという保証はありません ( RTMFP 接続テスターで診断できます)。そのため、Adobe はLiveCycle Collaboration ServiceまたはAdobe Flash Media Serverを介して中央リレー サービスへのフォールバック ソリューションを提供しています (直接の P2P 接続を確立できない場合、基本的にすべてのネットワーク トラフィックは、両方のクライアントがパブリックにアクセスできるサーバーを通過します。
Adobe の RTMFP は、Peer 2 Peer ネットワーク ランデバス サービスの独自のバンドルであり、他の高レベルの P2P ネットワーク メッシュ機能も提供します。
よりオープンな標準の P2P プロトコルに興味がある場合は、WebRTCを調べてください。基本的に WebRTC は、クライアントが UDP を介して P2P を接続できるようにするのと同じ概念ですが、Web ブラウザーの標準として採用されることを目的としており、標準の NAT を使用するフードの下でさまざまなネイティブ デバイス (Android、iPhone など) に実装することもできます。STUN、ICE、TURN、RTP-over-TCPおよびプロキシのサポートを使用したファイアウォール トラバーサル テクノロジー。WebRTC は、libjingle P2P Google トーク ライブラリで行われた作業の一部を標準化したものだと思います。