Установка DIFFSERV/DSCP с GQOS для конкретного сокета в c

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

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

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

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

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

Спасибо!

0 ответов

Другие вопросы по тегам