XMPP を使用して 2 つのクライアント間で通信するアプリケーションがあります。ターゲット システムとスマートフォン (Android または iPhone)。両方のクライアントは、XMPP サーバー上の同じアカウントを使用して、メッセージを検索して相互に送信します。このアーキテクチャは問題なく動作しますが、ストリーミング ビデオ (ターゲットから電話) をセットアップする必要があります。XMPP の使用は遅すぎるため、ピア ツー ピア (P2P) ソリューションが必要です。両方のクライアント (ターゲットと電話) がローカル ネットワーク ルーターの背後にあるため、ソリューションは NAT/ファイアウォール トラバーサルを処理する必要があり、パケットが順番に配信されるように TCP を使用する必要があります。
別の公開サーバーを使用して、クライアントのルーターのグローバル IP アドレスとポートを取得できます。この情報は、XMPP メッセージングを使用してクライアント間で通信されます。単純なアプローチは、公開サーバーへのアクセスに使用されるのと同じポートを使用して、ターゲット クライアントにサーバー ソケットをセットアップすることです。その後、電話クライアントは、ターゲット クライアントのグローバル アドレスとポートを使用してターゲット クライアントとの接続を確立するようにセットアップされます。
接続が確立されません。誰かがこのアプローチの欠陥を教えてくれますか、または専用サーバーを必要としない別のアプローチを提案できますか? 前もって感謝します。