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) {
}
}
}