サーバーがあり、それに 2 つのクライアントが接続されているとします。(TCP経由ですが、問題ありません)
私の目標は、これら 2 つのクライアント間の直接接続を可能にすることです。これは、たとえば、2 人のプレイヤー間での直接の音声通信、またはサーバーとの対話を必要としない他のクライアント プラグイン (2 人の間で何らかのランダムなゲームをプレイするなど) を可能にするためです。サーバーは、接続のセットアップを支援するためにそこにいることができます。
夕暮れの答えから、私はいくつかの手がかりを得ました:
それを行うためのアルゴリズムを説明するhttp://en.wikipedia.org/wiki/STUNと
http://en.wikipedia.org/wiki/UDP_hole_punching
それらから、私はより多くのリードを得ました:
http://www.h-online.com/security/features/How-Skype-Co-get-round-firewalls-747197.html
http://nutss.gforge.cis.cornell.edu/stunt.php -- TCP を使用した可能な STUN 実装
時間が経てば、自分のプログラムのために何かを解決できるはずです。今のところ、私は C++ と TCP (Qt ソケットまたは Boost ソケット) を使用していますが、必要に応じて、C で UDP を実行してラップしてもかまいません。
この報奨金は、C および C++ の使用経験があるすべてのプログラマーに用意されており、サンプル プログラム、更新されたライブラリー、またはその他の有用な情報にリンクすることで、これを簡単にするためのヒントを提供してくれる可能性があります。文書化され、柔軟で機能する C++ TCP 実装が最善ですが、私が得たものを採用します!