サーバーが複数のクライアント要求を同時に処理するマルチスレッド アプリを作成しています。さらに、クライアントは他のクライアントと通信する必要があります。サーバーはさまざまなクライアントのポート アドレスを保持するため、各クライアントはピアのポート アドレスを知るためにサーバーに接続する必要があります。
プログラムについての私の理解:
client.java (ソケットとサーバーソケットがあります)
ソケット - serverocket no を登録するためにサーバーと通信するために使用されます。これは、他のピアが識別するのに役立ちます。(注: 作成時にポートを指定する必要があるサーバー ソケットとは異なり、ソケット # は OS によって一意に割り当てられるため、これについて心配する必要はありません。)
serverocket - 他のピアと通信するために使用され、この番号は他のピアに知られている必要があります。
サーバー.java
サーバーソケット - さまざまなクライアントとの通信に使用
これで、server.java と client.java の 2 つのプログラムができました。もちろん、複数のクライアントを持つために client.java を複数回実行します。ここに私の質問があります:
私のclient.javaには2つのポートがありますか? サーバーと通信するための 1 つのソケットと、他のクライアントをリッスンするための 1 つのサーバー ソケット? もしそうなら、ポート番号をパラメーターとしてclient.javaに渡して、各クライアントインスタンスの一意のサーバーソケットとして使用できるようにする必要がありますか?
私を助けてください!