В потоке TCP сервер-> клиент все пакеты с сервера имеют установленный флаг PSH. Ответственен ли за установку этого флага старый добрый Нэгл?
Флаг push (PSH
или P
) устанавливается хостом-отправителем. Если отправляющее приложение использует запись или отправку 100 байт, каждый пакет будет иметь PSH
устанавливать. Если отправитель отправит 2000 байт, он будет отправлен двумя пакетами, а второй будет иметь PSH
flag при стандартном размере кадра 1500.
Флаг push указывает принимающему хосту, что полученные данные должны быть немедленно переданы принимающему приложению.
Установка флага push обычно контролируется не отправляющим приложением, а отправляющим уровнем TCP. Большинство современных стеков TCP / IP устанавливают бит PSH в конце буфера, предоставленного для send ().
Источник: Увеличьте задержку для TCP, не дожидаясь флага Push
Постоянная установка бита P является стандартным правильным, но неэффективным поведением, которое может возникнуть из-за старых стеков TCP.