Функция SetSocketMediaStreamingMode (socketapi.h)

Функция SetSocketMediaStreamingMode указывает, следует ли использовать сеть для передачи потокового мультимедиа, требующего качества обслуживания.

Синтаксис

HRESULT SetSocketMediaStreamingMode(
  BOOL value
);

Параметры

value

Указывает, следует ли использовать сеть для передачи потокового мультимедиа, требующего качества обслуживания. Это гарантирует, что сокеты, открытые с низкой задержкой, получат правильное качество обслуживания для беспроводных сетей 802.11.

Возвращаемое значение

Если ошибка не возникает, SetSocketMediaStreamingMode возвращает S_OK. В противном случае код ошибки возвращается в виде HRESULT.

Комментарии

Функция SetSocketMediaStreamingMode используется для указания того, следует ли использовать сеть для передачи потокового мультимедиа, требующего качества обслуживания. Эта функция обычно используется голосовой связью по IP (VoIP) или аналогичными приложениями, которым требуется стабильное качество обслуживания. Функцию SetSocketMediaStreamingMode могут использовать приложения Магазина Windows или классические приложения.

При использовании в беспроводной сети 802.11 могут возникнуть проблемы с качеством обслуживания для потоковой передачи мультимедиа. Сетевой драйвер 802.11 будет периодически проверять наличие других близлежащих сетей инфраструктуры (ESS) или нерегламентированных сетей (IBSS). Это позволяет адаптеру беспроводной сети находить другие сети и, возможно, подключаться к сети с более сильным сигналом. Большинство актуальных сетевых драйверов 802.11 сканируют все доступные каналы в виде ряда одновременно. Когда сетевой драйвер 802.11 проверяет наличие других сетей и прослушивает другие каналы, он не может получать пакеты для приложения. Время, затраченное на сканирование для других сетей, может привести к заметному разрыву (100 миллисекундам или более), когда приложение VoIP не сможет получить аудиопоток. Этот процесс сканирования является более длительным для сетевых адаптеров 802.11 с двумя диапазонами (2,4 ГГц и 5 ГГц), так как сканируется еще больше каналов. Это может привести к тому, что звук будет восприниматься как заикание.

При вызове функции SetSocketMediaStreamingMode с параметром value , равным TRUE , и сокет будет передаваться через адаптер беспроводной сети 802.11, система уведомит драйвер беспроводной сети о прекращении сканирования для других сетей. Это устраняет заикание voIP и аналогичных звуковых приложений при использовании в беспроводных сетях 802.11, но также влияет на все приложения, работающие на локальном компьютере или устройстве.

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

VoIP или аналогичное приложение должно закрыть все сокеты с низкой задержкой, чтобы восстановить режим потоковой передачи мультимедиа драйвера беспроводной сети 802.11. Это позволит повторно включить сканирование для других беспроводных сетей.

Функция SetSocketMediaStreamingMode не действует, если сокет не будет отправлять или получать пакеты через беспроводной адаптер 802.11.

Требования

Требование Значение
Минимальная версия клиента Windows 8 [классические приложения | Приложения UWP]
Минимальная версия сервера Windows Server 2012 [классические приложения | Приложения UWP]
Целевая платформа Windows
Header socketapi.h
Библиотека Windows.Networking.lib
DLL Windows.Networking.dll

См. также раздел

Добавление поддержки сети

Windows.Networking.BackgroundTransfer

Windows.Networking.Sockets