Java Swing GUI зависает
Я пишу клиентское / серверное приложение Java с использованием сокетов, и вот проблема:
У меня есть кнопка, чтобы начать прослушивание указанного порта:
кнопка actionPerformed метод
private void listenButtonActionPerformed(java.awt.event.ActionEvent evt) {
int port = Integer.parseInt(portTextfield.getText(), 10);
try {
socket.listen(port);
} catch (IOException ex) {
}
}
Вот метод socket.listen
public static void listen() throws IOException {
ServerSocket ss = new ServerSocket(port);
while (true)
new socket(ss.accept());
}
& Quot; гнездо & Quot; класс расширяет & quot; Thread & quot;
Поэтому после того, как ss.accept () возвращает значение, он создает новый экземпляр сокета в отдельном потоке.
После нажатия кнопки графический интерфейс останавливается, потому что внутри метода socket.listen существует бесконечный цикл. Как я могу избежать этого?