почему не принимает ?
package com.javarush.task.task30.task3008;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import java.util.logging.Handler;
public class Server {
private static Map<String,Connection> connectionMap = new ConcurrentHashMap<>();
public static void main(String[] args) throws IOException {
try(ServerSocket ss = new ServerSocket(ConsoleHelper.readInt()) ){
ConsoleHelper.writeMessage("сервер запущен...");
while (true){
new Handler(ss.accept()).start(); }
}catch (IOException e){ e.printStackTrace(); }
}
private static class Handler extends Thread{
private Socket socket;
private String serverHandshake(Connection connection) throws IOException, ClassNotFoundException {
String name = "";
connection.send(new Message(MessageType.NAME_REQUEST));
Message m = connection.receive();
name = m.getData();
if ( !m.getType().equals(MessageType.USER_NAME)) { serverHandshake(connection); }
else if ( name.equals("") || name == null) { serverHandshake(connection); }
else if ( connectionMap.containsKey(name) ) { serverHandshake(connection); }
else if ( m.getType().equals(MessageType.USER_NAME)) {
connectionMap.put(name,connection);
connection.send(new Message(MessageType.NAME_ACCEPTED));
return name;
} return name;
}
public Handler(Socket socket){
this.socket = socket;
}
}
public static void sendBroadcastMessage(Message message){
for (Connection c : connectionMap.values()){
try {
c.send(message);
} catch (IOException e) {
System.out.println("сообшеные не доставлено");
}
}
}
}