だから、これは私が持っているものです。これは、スレッドを使用して複数のクライアントに接続するサーバー プログラムです。今のところ、そのメイン ループはほとんど無限です。クライアントがシャットダウン コマンドを ServerThread に送信したとします。その ServerThread はメイン クラスにアクセスし、ループから抜け出し、プログラムの最後に到達できるでしょうか?
ServerThreadにisRunning=falseを入れて回してみましたが、うまくいかないようです。
public class Server
{
public static boolean isRunning = true;
public static void main(String[] args)
{
// init stuff
try {
serverSocket = new ServerSocket(27647);
} catch (IOException e) {
println("Could not listen on port 27647");
}
while(isRunning)
{
Socket clientSocket = null;
try{
clientSocket = serverSocket.accept();
} catch(IOException e) {
println("Could not connect to client");
}
ServerThread serv = new ServerThread(clientSocket);
serv.start();
}
try {
serverSocket.close();
} catch (IOException e1) { }
}
}