Вам необходимо установить этот размер для сокета listen на сервере, прежде чем принимать accept (), а на клиенте вам необходимо установить его на сокете перед его подключением. Таким образом, вы позволяете опции «масштабирования окна» в TCP вступать в силу, что может произойти только во время установления соединения. После того, как соединение установлено, уже слишком поздно. Таким образом, окно приема TCP может быть таким же большим, как и буфер приема, при условии соблюдения различных других условий.
Однако если у вас нет сети с чрезвычайно высокой задержкой и необычайной пропускной способностью, 256 КБ может быть слишком большим. Нет никакого смысла устанавливать его выше bandwidth-delay product
, который можно рассчитать как пропускную способность в байтах / секунду, умноженную на задержку в секундах, что дает результат в байтах.