私には2つのスレッドがあります。1つはメッセージの受信用で、もう1つは受信と送信の両方用です。
PrintStream os = new PrintStream(sock.getOutputStream());
BufferedReader is = new BufferedReader(new InputStreamReader(sock.getInputStream()));
ServerThread server = new ServerThread(sock, maxid, os,is);
OutputThread out = new OutputThread(sock, maxid, os,is);
次に、接続を閉じるときに、isとosを正しく閉じたいのですが、2つのスレッドで両方を行うにはどうすればよいですか?入るjava.net.SocketException
_ServerThread
public ServerThread(..){
try{
//here I use is and os
} finally {
disconnect();
}
}
public void disconnect() {
try {
System.out.println(addr.getHostName()+ " disconnected");
os.close();
try {
is.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} finally {
this.interrupt();
}
}