Это часть проекта мессенджера в Java. Поскольку клиенты используют прямые соединения для чата, я хочу, чтобы каждый клиент прослушивал некоторые порты, а другие создавали сокет для этого адреса. но когда я вызываю ServerSocket.accept () в другом потоке, кажется, что все потоки были приостановлены. что означает, что ничего не происходит после выполнения этой команды. Вот код, который создает новый поток.
java.awt.EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
try {
while(true){
System.out.println("flag1");
Socket socket = listeningSocket.accept();
System.out.println("flag2");
new Chat(socket).setVisible(true);;
jTextArea1.append("successfully connected\n");
}
} catch (NullPointerException e) {
System.out.println("i know");
}
catch (IOException e) {
e.printStackTrace();
jTextArea1.append("error in recieving connection\n");
}
}
});
есть идеи как это решить?