クラスでデザインしている小さなゲームで問題が発生しています。問題は、2 つのクライアントがサーバーに接続されていることです。(client1 と client2) それぞれがゲームを実行しており、最終的にウィンドウを閉じます。ゲーム ウィンドウは JDialog であるため、ウィンドウが閉じられると、ソケットを介してサーバーにメッセージが送信され、完了したことが通知されます。2 つのクライアントのどちらが最初に完了したかをサーバーに認識させたい。それらは、ソケットの OutputStream で PrintWriter を介して報告しています。私がしたことはこれでした:
in1 = new BufferedReader(new InputStreamReader(client.getInputStream()));
in2 = new BufferedReader(new InputStreamReader(client2.getInputStream()));
try {
in1.readLine();
} catch (IOException ex) {
Logger.getLogger(gameServer.class.getName()).log(Level.SEVERE, null, ex);
}
try {
in2.readLine();
} catch (IOException ex) {
Logger.getLogger(gameServer.class.getName()).log(Level.SEVERE, null, ex);
}
問題は、2 番目の入力をリッスンする前に、最初の入力を待機することです。両方で同時に聞くにはどうすればよいですか?または、私の問題を他の方法で解決してください。ありがとう!