クライアントをリッスンしているサーバーソケットを停止するにはどうすればよいですか。私のコードは以下のようになります
private ServerSocket serverSocket;
class ServerThread implements Runnable {
private BufferedReader input;
public void run() {
Socket socket = null;
try {
serverSocket = new ServerSocket(SERVE_LISTEN_RPORT);
} catch (IOException e) {
e.printStackTrace();
}
while (!Thread.currentThread().isInterrupted()) {
try {
socket = serverSocket.accept();
try {
this.input = new BufferedReader(new InputStreamReader(socket.getInputStream()));
} catch (IOException e) {
e.printStackTrace();
}
try {
String read = input.readLine();
//Do something
}
} catch (IOException e) {
e.printStackTrace();
}
} catch (IOException e) {
e.printStackTrace();
}
}
try {
serverSocket.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
別のスレッドからコマンドを取得したときに、このスレッドを停止する必要があります。私はすでにこの質問をしていますが、それを実装する方法がわかりません。