Я создаю приложение с несколькими клиентами/сервером, когда любой клиент отключается от моего сервера, который он просто висит. как я могу установить любое условие, которое сообщит мне напечатать какое-то сообщение, когда любого клиент отключается от сервера вот мой кодСервер зависает, когда клиент отключается
class ServerThread implements Runnable {
public void run() {
Socket socket = null;
try {
System.out.println("server starting.......");
serverSocket = new ServerSocket(SERVERPORT);
} catch (IOException e) {
e.printStackTrace();
}
while (!Thread.currentThread().isInterrupted()) {
try {
System.out.println("Ready to accept.......");
socket = serverSocket.accept();
System.out.println(" client Connected with ip address =" +socket.getRemoteSocketAddress().toString());
CommunicationThread commThread = new CommunicationThread(socket);
new Thread(commThread).start();
} catch (IOException e) {
e.printStackTrace();
System.out.println("catch block");
}
}
}
}
class CommunicationThread implements Runnable {
private Socket clientSocket;
private BufferedReader input;
public CommunicationThread(Socket clientSocket) {
this.clientSocket = clientSocket;
try {
this.input = new BufferedReader(new InputStreamReader(this.clientSocket.getInputStream()));
} catch (IOException e) {
e.printStackTrace();
}
}
public void run() {
while (!Thread.currentThread().isInterrupted()) {
try {
String read = input.readLine();
updateConversationHandler.post(new updateUIThread(read));
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
сервера любой помощи будет оценен
Висит, как? Он перестает принимать какие-либо новые подключения или просто связывается с CommunicationThread? –
У меня есть текстовое представление, на которое я устанавливаю все сообщения, полученные от клиентов. но всякий раз, когда какой-либо клиент diconnectes textview показывает, клиент говорит: null, и это продолжается в цикле, и, наконец, мое приложение отключается – Mohit
Да, просто слушайте на каком-то порту, чтобы получить строку. Если вы что-то получаете, остановите сервер :) –