У меня есть сервер и клиент, и я хочу из sendMsg (Object obj) отправлять объекты на сервер: первое - это настраиваемое сообщение класса (класс сообщения сериализуемый), второе - String, а последнее - List. Когда я пытаюсь прочитать список - сервер ничего не делает (без ошибок). Отладчик говорит (приложение запущено), затем я отправляю объект сообщения, клиент теряет соединение, потому что сервер не отвечает. Вот сторона клиента:
public static synchronized boolean sendMsg(Object obj) {
try {
if (socket == null || socket.isClosed()) {
launch();
return false;
} else {
objOutStream.writeObject(obj);
objOutStream.flush();
return true;
}
} catch (IOException e) {
System.out.println("Outputstream not found.");
return false;
}
}
Вот сторона сервера:
public synchronized void readMessages() throws IOException {
while (true) {
try {
Object obj = objInputStream.readObject();
if (obj != null) {
if (obj.getClass().getSimpleName().equals("Message")) {
server.chooseClientForMessage((Message) obj, this);
break;
}
if (obj.getClass().getSimpleName().equals("List<String>")) {
sendMessage(server.getOnlineClients((List<String>) obj));
break;
}
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
}