チャット サーバーを作成していますが、複数の接続を確立できません。これは、ソケットが 1 つしかないためだと思います。スレッドは一度に複数のソケット接続を処理できることを読みましたが、各クライアントには独自のソケットが必要です。コンセントのように。プラグごとに 1 つのコンセントが必要です。各クライアントがサーバーとの通信に使用するソケットを作成するにはどうすればよいですか? 皆さんの支援の基礎となるコードを少し提供します。ここでは、単一のソケット (接続) が受け入れられます。
private void waitForConnection() throws IOException
{
connection = server.accept();
showMessage("\nNow connected to " + connection.getInetAddress().toString());
clientCount += 1;
}
サーバーの起動時にコードが呼び出される場所は次のとおりです。
public void startRunning()
{
try
{
server = new ServerSocket(1337, 10);
while(true)
{
try
{
showMessage("Waiting For a Player To Connect...");
waitForConnection();
setupStreams();
whileChatting();
}
catch(EOFException eofException)
{
showMessage("\n Server ended the connection! ");
}
finally
{
closeConnections();
}
}
}
catch(IOException ioException)
{
ioException.printStackTrace();
}
}
これで、このコードは最初に接続されたクライアントに対して完全に機能します。他のすべては単に接続できません。回答を提出してくれたすべての人に事前に感謝します。