У меня есть сетевое приложение, которому нужно отправлять сообщения 60 раз в секунду. Обычно размер сообщений составляет 300-400 байт, но может быть и 1500. Значение по умолчанию для SO_SNDBUF слишком мало и ограничивает количество сообщений, которые могут быть отправлены, если задержка в сети превышает 100 мс.
Наивное решение - просто увеличить размер SO_SNDBUF до чего-то большого. Однако, в зависимости от задержки и размера пакета, это может быть от 64 КБ до 8 МБ.
Одна из новых функций Vista - автонастройка TCP. Автонастройка контролирует TCP-соединение и динамически регулирует размеры буфера, чтобы обеспечить оптимальную связь.
Я хотел бы использовать автонастройку на нашей машине с Windows XP, поэтому мне не нужно угадывать, какими должны быть размеры моих буферов.
Есть ли способ установить tcp autotuner от Microsoft или стороннего производителя на windows xp?
Похоже, вы, вероятно, отправляете данные через TCP это должно быть отправлено через UDP, RTSP/RTP, или SCTP. TCP не предназначался для потоков данных, чувствительных ко времени в реальном времени, он предназначен для гарантии доставки (в конечном итоге; или, по крайней мере, для сообщения об ошибке доставки).