0
私は、ソケットと、クライアントがサーバーに文字入力を送信するHangmanゲームとを使用して、クライアントとサーバーを作成しました。プレーヤーが勝ったり敗北したりすると、サーバーは終了します。 「Enter letter:」を表示する前に、クライアントを同時に終了させたい。これを行う方法はありますか?サーバとクライアントのソケット接続を同時に閉じる
do {
System.out.println();
System.out.print("Enter letter: ");
BufferedReader UserIn = new BufferedReader(new InputStreamReader(System.in));
input = UserIn.readLine();
pw.println(input);
System.out.println(SocketIn.readLine());
System.out.println();
while(SocketIn.ready()) {
System.out.println(SocketIn.readLine());
}
} while (socket.isConnected());
サーバーの応答には、クライアントの動作を制御するための "finished"や "continue"のようなコマンドが含まれている必要があります。ソケットを閉じることは、速くて信頼できるものではありません。ソケットの状態は、クライアントが次に読み書きする際に認識されます。 – Konrad
@Konrad私のサーバーは「while(真)」ループを通過しています。プレーヤーはif/elseステートメントで勝敗するとサーバーは終了します。 「終了」と言ったときに例を挙げられますか?どうもありがとう。 –