Сокет переводится в состояние прослушивания, как только вы создаете объект ServerSocket
, а не при вызове accept
.Пока вы создаете клиента после завершения работы с конструктором ServerSocket
, у вас не будет проблем.Соединения будут приниматься и помещаться в очередь до тех пор, пока не будет вызван accept
.
Вот некоторый код для демонстрации:
ServerSocket serverSocket = new ServerSocket(12345);
Thread.sleep(10000);
Socket socket = serverSocket.accept();
В течение этого 10-секундного интервала до вызова accept
ОСКоманда netstat покажет сокет сервера в состоянии «LISTENING», и клиенты могут подключиться к нему.Если клиент подключается в течение этих 10 секунд, соединение ставится в очередь, и когда наконец вызывается метод accept
, он немедленно возвращает объект Socket
в очереди.