Заставить Windows отправлять пакеты, как только они прибудут

У меня есть сетевое приложение, работающее на Windows Server 2008 R2, которое должно отправлять небольшие пакеты за очень короткий промежуток времени, в каждом микросекунде. Моя проблема в том, что windows накапливают пакеты и отправляют их в большом TCP-пакете, но я хочу, чтобы каждый пакет отправлялся отдельно.

Я отkeyил прерывание модерации в nic. Я также установил размер MTU interfaceа на 63 (это самый маленький размер, в который inputит мой пакет). Я проверяю трафик с помощью Netmon от Microsoft, и большую часть времени этот параметр, кажется, игнорируется, и Windows продолжает накапливать пакеты перед их отправкой. Что я делаю не так? Есть ли другой способ заставить windows отправлять небольшие пакеты, как только пакеты приходят в interface? Насколько я знаю, Windows использует Nagle для объединения данных, но я не мог отkeyить его с помощью реестра. Я не могу изменить платформу.

One Solution collect form web for “Заставить Windows отправлять пакеты, как только они прибудут”

Если у вас есть какой-либо контроль над самим приложением, installation параметра сокета TCP_NODELAY при создании сокета будет иметь эффект, который вы ищете. Это сообщает разъему, чтобы отkeyить Nagel для этого соединения. Это, наверное, самый надежный метод.

Похоже, вы уже обнаружили TcpAckFrequency реестра TcpAckFrequency ; но если вы этого не сделали, это может оказать некоторую помощь, если вы не сможете скорректировать код приложения. Для этого:

  1. Найдите свой interface в разделе HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters\Interfaces
  2. Создайте новое 32-разрядное значение DWORD с именем TcpAckFrequency и установите его в 1.

Раньше существовал key TcpNoDelay , но он, похоже, был удален для Win 2008.

  • Удаленный рабочий стол после медленного интерlessа не может подkeyиться к удаленному рабочему столу
  • Новый server печати на Windows Server 2008 R2 64bit
  • Консоль управления Microsoft Exchange, сбой инициализации
  • IIS7: невозможно установить имя узла на websiteе с certificateом SSL и портом 443
  • Смесь версий Windows (server)
  • вkeyение 32-разрядных приложений в IIS 7 на Windows 2008 R2 64-разрядные страницы ошибок
  • Пул приложений IIS и UAC
  • Брандмауэр GPO не уйдет
  • Некоторые вопросы по настройке Active Directory и Dynamic DNS
  • Установка node.js в Windows 2008
  • MKLink для защиты паролем Share
  • Interesting Posts

    Как использовать rsync для дублирования дерева каталогов, создания жестких ссылок на файлы?

    HP Proliant DL 380 G7: какой драйвер хранения для Suse Linux 11

    Восстановить раздел, который был удален и перезаписан другим разделом на SSD-диске

    iptables не может заблокировать request метки времени с помощью CentOS

    Синхронизация fileов рабочих станций для развертывания по групповой политике

    Кто-нибудь когда-либо использовал ссылки на SMTP-сайт?

    Групповая политика, позволяющая вращению журнала безопасности пользователей без администратора

    ssh-keygen создать ssh key для пользователя linux

    Устранение неполадок в уровне сигнала беспроводной сети … с чего начать?

    Как узнать, сколько байтов IO прочитал process linux?

    Отображать ошибки с помощью VMWare Player и удаленного рабочего стола в Windows XP

    IPTables: less цепочки / цели / соответствия этим именем

    Есть ли утилита Windows 7, которая может проверить, соответствует ли certificate ssl keyевому fileу?

    Как долго клиент может остановиться в AD?

    Как упорядочить правильное завершение работы и запуск веб-сервисов с помощью systemd?