
私は疑問に思った可能です2つをつなぐ着信 TCP/IP のソケット。
例:
Client A -----> Server <----- Client B
サーバーは両方のクライアントにマジックを送信し、サーバーをバイパスして相互に接続します。
Server
Client A ----------><---------- Client B
アップデート:
その考え方は、クライアントがリッスンするポートにバインドできない場合でも、サーバーの助けを借りて相互に接続を作成できるようにすることです。
たとえば、クライアント A とクライアント B はサーバーとの TCP ソケットを持っています。ユーザー A はユーザー B とチャットすることにし、ユーザー B とのブリッジ要求とともにサーバーとの新しい TCP 接続を作成します。サーバーはその要求をクライアント B に送信し、そのチャット ライン用にサーバーとの新しい TCP 接続も開きます。
これで、サーバーがAとBの両方のチャット接続を持つ場合、それらをブリッジしてサーバーなしで動作できるようになり、その結果、サーバーは2人のユーザーが共有するすべてのメッセージとファイルを処理する必要がなくなります。これがアイデアです。
答え1
両方のクライアントが同じネットワーク上にあるかどうかは不明です。そうではないと想定します。そうでなければ、この質問は発生しなかったでしょう。
上記の仮定から、1 つのクライアントが TCP/IP パケットを他のクライアントに直接送信することはできないため、ブリッジが絶対に必要になります。したがって、一般的な答えは、これは不可能であり、仲介者としてブリッジが常に必要になるということです。
ただし、2つのクライアントが両方ともルーターを介してインターネットに接続されている場合は、たとえば次のようにしてインターネットをブリッジとして使用することができます。プナットソフトウェア。詳細については、この答え私の。