Поделиться через


Функция Networking_GetInterfaceConnectionStatus

Заголовок: #include <applibs/networking.h>

Возвращает состояние сетевого подключения для сетевого интерфейса. При вызове Networking_GetInterfaceConnectionStatus ОС возвращает последнее известное состояние и пытается обновить указанное состояние интерфейса в перечислении Networking_InterfaceConnectionStatus.

Возвращаемое перечисление Networking_InterfaceConnectionStatus отражает последнее известное состояние интерфейса, сетевого подключения, IP-адреса и подключения к Интернету. При вызове Networking_GetInterfaceConnectionStatus ОС пытается обновить эти флаги состояния и выполнить вызов http://www.msftconnecttest.com , как указано в разделе Требования к сети ОС Azure Sphere, чтобы определить, подключено ли устройство к Интернету.

Приложение может выполнять действия на основе состояния Networking_InterfaceConnectionStatus_ConnectedToInternet , указывающего, подключено ли устройство к Интернету. Однако по различным причинам сетевое или интернет-подключение может быть потеряно между временем обновления состояния и временем попытки приложения подключиться к Интернету. Таким образом, приложение должно включать логику, которая обеспечивает интеллектуальный выбор при обнаружении изменений в доступности сети и Интернета. Приложение должно обрабатывать ошибки подключения и соответствующим образом адаптироваться.

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

Если Networking_InterfaceConnectionStatus_ConnectedToInternet указывает, что устройство подключено к Интернету, оно не должно опрашивать состояние более одного раза в 90 секунд. Если эта функция состояния подключения многократно возвращает указание на то, что устройство подключено к Интернету, ОС регулирует состояние проверка, если интервал опроса слишком короткий. Рекомендуемый интервал опроса приложения — один запрос/две минуты.

int Networking_GetInterfaceConnectionStatus(const char *networkInterfaceName, Networking_InterfaceConnectionStatus *outStatus);

Параметры

Ошибки

Возвращает значение -1 при обнаружении ошибки и задает errno значение ошибки.

  • EFAULT: outStatus параметр имеет значение NULL.

  • ENOENT: networkInterfaceName интерфейс не существует.

  • EAGAIN: сетевой стек не готов.

Можно также указать любой другой errno . Такие ошибки не являются детерминированными, и такое же поведение может не сохраняться при обновлении системы.

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

Возвращает значение 0 для успешного выполнения, -1 для сбоя, в этом случае errno задается значение ошибки.

Основные понятия и примеры