Huśtawka GUI Java zawiesza się

Piszę aplikację GUI klienta / serwera Java przy użyciu gniazd i tutaj jest problem:

Mam przycisk, aby rozpocząć słuchanie określonego portu:

button actionPerformed method

private void listenButtonActionPerformed(java.awt.event.ActionEvent evt) {                                             
    int port = Integer.parseInt(portTextfield.getText(), 10);

    try {
        socket.listen(port);
    } catch (IOException ex) {
    }
}

Oto metoda socket.listen

public static void listen() throws IOException {
    ServerSocket ss = new ServerSocket(port);

    while (true)
        new socket(ss.accept());
}

Klasa „socket” rozszerza „Thread”
Więc po tym, jak ss.accept () zwróci wartość, tworzy nową instancję gniazda w osobnym wątku.

Po kliknięciu przycisku GUI zawiesza się, ponieważ w metodzie socket.listen znajduje się nieskończona pętla. Jak mogę tego uniknąć?

questionAnswers(5)

yourAnswerToTheQuestion