Установка DIFFSERV / DSCP с GQOS для конкретного сокета в c - PullRequest
3 голосов
/ 31 января 2010

Мне нужно установить поле DSCP для пакетов, отправляемых с определенного (tcp) сокета в Windows XP.

Похоже, что GQOS API должен служить этой цели (см. http://blogs.msdn.com/wndp/archive/2006/07/05/657196.aspx), но я действительно, действительно, не могу найти ни одного рабочего примера или рисунка, как использовать его самостоятельно.

Буду очень признателен, если у кого-нибудь из вас есть рабочий пример, которым он / она может поделиться.

Однако следующие обходные пути неприемлемы:

  1. Использование API QOS2 - он доступен только в Vista и выше (и я буду использовать его там)
  2. Использование API-интерфейса TC - оно не относится к конкретному сокету (оно пытается сопоставить исходящие пакеты с фильтром) и требует прав администратора для использования 3.
  3. Использование SetSockOpt с IP_TOS - устарело в XP, не предназначалось для установки поля DSCP и требует изменения регистра.

Спасибо!

...