私はSkypeのようなp2pソフトウェアがそのためにUDPホールパンチングを使用していることを知っています。しかし、クライアントの1つが別のクライアント(UDPではなくTCP接続)からファイルをダウンロードする必要があるWebブラウザーである場合はどうなるでしょうか。そのような場合のテクニックはありますか?
クライアントと結婚できる中間のパブリックサーバーを持つことはできますが、これらのクライアント間のすべてのトラフィックがこのサーバーを通過する余裕はありません。パブリックサーバーは、Skypeのように、クライアント間の接続のみを確立できます。それだけです。また、ダウンロードクライアントをWebブラウザにするには、これはTCP(より正確にはHTTP)を介して機能する必要があります。
両方のクライアントは、ルーターなどに何かをセットアップする必要はありません。
これをC/C ++でコーディングする予定ですが、このアイデアが可能かどうか疑問に思っています。