SocketChannel.write ожидает TCP ACK? - PullRequest
0 голосов
/ 21 мая 2018

Мы используем Java NIO на стороне клиента для связи с сервером.Что происходит в случае повторной передачи TCP:

Будем ли мы зависать при операции записи, пока не получим ACK, или мы вернемся немедленно?

(я понимаю, что IO является асинхронным, и мы получаем ответы асинхронно, но как насчет ACK)

1 Ответ

0 голосов
/ 21 мая 2018

Он не ожидает ACK.

Запись TCP завершена с точки зрения API, когда данные полностью переданы в буфер отправки сокета отправителя.То, что происходит после этого, полностью асинхронно и не обнаруживается отправляющим приложением, кроме как через close() с положительным тайм-аутом LINGER в режиме блокировки.

...