При попытке отправить задачу на проверку на миллисекунду выскакивает окошко проверки и пропадает. При этом не валидации, не ошибки в в консольн не выдает. Программа запускается и работает, ну с тем функционалом что уже написан. Пробовал удалить часть методов, все равно тоже. Другие задачи, с другим уровней принимает...
package com.javarush.task.task30.task3008;
import com.javarush.task.task23.task2309.vo.User;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
public class Server {
private static Map<String, Connection> connectionMap = new ConcurrentHashMap<>();
public static void sendBroadcastMessage(Message message) {
connectionMap.forEach((String k, Connection v) -> {
try {
v.send(message);
} catch (IOException e) {
ConsoleHelper.writeMessage("Сообщение не было отправлено. Повторите попытку.");
}
});
}
public static void main(String[] args) {
try(ServerSocket server = new ServerSocket(ConsoleHelper.readInt())){
ConsoleHelper.writeMessage("Сервер запущен");
while(true) {
Socket socket = server.accept();
new Handler(socket).start();
continue;
}
} catch (IOException e){
e.printStackTrace();
}
}
private static class Handler extends Thread{
private Socket socket;
public Handler(Socket socket){
this.socket = socket;
}
private String serverHandshake(Connection connection) throws IOException, ClassNotFoundException{
Message request = new Message(MessageType.NAME_REQUEST);
Message response;
String name;
do {
connection.send(request);
response = connection.receive();
name = response.getData();
} while (response.getType() != MessageType.USER_NAME || name.isEmpty() || connectionMap.containsKey(name));
connectionMap.put(name, connection);
connection.send(new Message(MessageType.NAME_ACCEPTED));
return name;
}
private void sendListOfUsers(Connection connection, String userName) throws IOException{
connectionMap.forEach((k,v) -> {
if(!k.equals(userName)) {
try {
connection.send(new Message(MessageType.USER_ADDED, k));
} catch (IOException e){
}
}
});
}
}
}