Обращают ли сокеты Windows RIO внимание на флаг TCP P SH на принимающей стороне? - PullRequest
0 голосов
/ 15 февраля 2020

Я ищу некоторые подробности о том, как Windows сокеты RIO взаимодействуют с TCP. В своих экспериментах я обнаружил, что на отправляющей стороне каждый отдельный сегмент RIOBUF, предоставленный RIOSend (), кажется, завершается с флагом TCP P SH. Однако на принимающей стороне я не вижу заметного использования флага P SH. Сегменты RIOBUF, отправленные с помощью RIOReceive (), по-видимому, завершаются сразу же после того, как некоторые потоки данных выяснят, был ли принят флаг P SH или нет. Довольно часто я обнаруживаю, что каждый принимающий сегмент завершается, содержащий содержимое одного TCP-пакета. Я просто ищу подтверждение здесь, чтобы убедиться, что разделил мой буфер приема так, чтобы он был использован в полной мере. Кто-нибудь знает детали того, что вызывает завершение буфера приема, когда сокет RIO используется с TCP? Приемник RIO вообще использует флаг pu sh? Если нет, то лучше ли вообще сегментировать мой приемный буфер так, чтобы каждая RIOBUF имела длину, равную TCP MSS, чтобы избежать пробелов в зарегистрированном буфере?

...