JAVA Socket server одноразовый

Есть сокет сервер, который обрабатывает запросы от пользователя. Почему-то после первого запроса, все остальные не работают. не вылетает никаких ошибок ни у клиента ни у сервера, просто клиент висит, будто-бы в очереди где ошибка? Делаю по примеру, прошу не пинаться)

Сам сервер:

 public class Server {

public static final int PORT = 4004;
public static LinkedList<ServerRequests> serverList = new LinkedList<>(); 
// список всех нитей


public static void main(String[] args) throws IOException {
    ServerSocket server = new ServerSocket(PORT);
    System.out.println("Socket start");
        try {
        while (true) {
            
            Socket socket = server.accept();
            try {
                serverList.add(new ServerRequests(socket)); 

            } catch (IOException e) {
                socket.close();
            }
        }
    } finally {
        server.close();
        System.out.println("Socket closed");
    }
}


 }

Обработка каждого пользователя отдельно, как я понял

  public class ServerRequests {
Connection con = new Connection();
private Socket socket;

private BufferedReader in;

private BufferedWriter out;

public ServerRequests(Socket socket) throws IOException {
    this.socket = socket;

    in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
    out = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
    run();

}

public void run() {
    String word;
    try {

        while (true) {
            word = in.readLine();

            if (word != null) {
                String[] result = word.split(":");
                String login = result[2];
                String pass = result[4];
                String gui = con.checkLogin(pass, login);
                auth(gui);

            }

        }
    } catch (IOException e) {
    }
}

private void auth(String gui) {
    try {
        out.write(gui + "\n");
        out.flush();
    } catch (IOException ignored) {
    }
}
 }

Ответы (0 шт):