Следует отметить, что в некоторых реализациях наполовину открытое соединение (соединение в состоянии SYN_RCVD) может даже не записываться на сервере. Реализации могут использовать файлы cookie SYN , в которых они кодируют всю информацию, необходимую для завершения установления соединения, в порядковый номер пакета SYN + ACK. Когда пакет ACK возвращается с увеличенным порядковым номером, они могут уменьшить его и получить информацию обратно. Это может помочь защитить от наводнений SYN, не выделяя никаких ресурсов на сервере для этих полуоткрытых соединений; таким образом, независимо от того, сколько дополнительных SYN-пакетов отправляет клиент, серверу не хватит ресурсов.
Обратите внимание, что SCTP реализует четырехстороннее рукопожатие с использованием файлов cookie, встроенных в протокол, для защиты от потоков SYN, позволяя хранить больше информации в файле cookie и, таким образом, не ограничивая протокол поддерживаемые функции, потому что размер файла cookie слишком мал (в TCP вы получаете только 32 бита порядкового номера для хранения всей информации).
Таким образом, чтобы ответить на ваш вопрос, пользовательское пространство accept()
будет только когда-либо видеть полностью установленные соединения и не будет иметь понятия о полуоткрытых соединениях, которые являются просто деталями реализации стека TCP.