Java Async I/O с NIO2: AsynchronousServerSocketChannel.accept дает вам активный AsynchronousSocketChannel

Для server.accept я написал обработчик завершения, который имеет параметры.

Когда обработчик вызывается с помощью метода accept, означает ли это, что AsynchronousSocketChannel теперь подключен?

Или я должен вызвать метод AsynchronousSocketChannel.connect?

Сейчас я думаю, что AsynchronousServerSocketChannel.accept принимает соединение (и сохраняет его в параметре AsynchronousSocketChannel), а AsynchronousSocketChannel.connect также инициирует соединение от сервера к клиенту (сохраняет в канале сокета).

Я на правильном пути?

1 ответ

Когда обработчик вызывается с помощью метода accept, означает ли это, что AsynchronousSocketChannel теперь подключен?

Да.

Или я должен вызвать метод AsynchronousSocketChannel.connect?

Нет.

Сейчас я думаю, что AsynchronousServerSocketChannel.accept принимает соединение (и сохраняет его в параметре AsynchronousSocketChannel)

Да.

и что AsynchronousSocketChannel.connect также инициирует соединение от сервера к клиенту (хранится в канале сокетов).

Нет. Очевидно, вы не пробовали это. Это потерпит неудачу.

accept() для серверов. connect() для клиентов.

Другие вопросы по тегам