TCP を使用してクライアントに接続するサーバーを作成するプロジェクトを行っています。実際の状況では、ファイアウォール/nat/プロキシの背後にある可能性があります。
では、どのように接続を確立すればよいでしょうか。
TCPホールパンチングを調べました。その通りですか?
最初からコーディングする必要がないように、既存のライブラリはありますか?
TCP を使用してクライアントに接続するサーバーを作成するプロジェクトを行っています。実際の状況では、ファイアウォール/nat/プロキシの背後にある可能性があります。
では、どのように接続を確立すればよいでしょうか。
TCPホールパンチングを調べました。その通りですか?
最初からコーディングする必要がないように、既存のライブラリはありますか?
サーバーが 1 つしかなく、TCP を使用してそのサーバーに接続されている N 個のクライアントがある場合、通常の方法は、ファイアウォール/Nat でマップすることです。そのため、外部から特定の tcp ポートにヒットするものはすべて、サーバーにリダイレクトされます。
ホール パンチングは、たとえば VoIP アプリケーション (Skype) など、LAN の外部から到達する必要がある複数のクライアントがある場合に使用されます。これにより、アプリケーションのすべてのユーザーがファイアウォール/NAT を構成する必要がなくなります。