Если клиент отправляет свой ACK с пакетом данных, и он теряется, клиент заметит, что сервер не получил ACKd, и повторно отправит пакет.
Если клиент отправляет свой ACK в отдельном пакете, и он теряется, сервер заметит, что SYN / ACK не был ACKd клиентом, и повторно отправит пакет. Клиент ответит повторной отправкой ACK.
Неважно, блокирует ли приложение соединение по вызову в это время, поскольку ACKing выполняется реализацией TCP / IP операционной системы.