Функция 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);
Параметры
networkInterfaceName
Имя сетевого интерфейса.outStatus
Указатель на перечисление Networking_InterfaceConnectionStatus , которое получает состояние сетевого подключения.
Ошибки
Возвращает значение -1 при обнаружении ошибки и задает errno
значение ошибки.
EFAULT:
outStatus
параметр имеет значение NULL.ENOENT:
networkInterfaceName
интерфейс не существует.EAGAIN: сетевой стек не готов.
Можно также указать любой другой errno
. Такие ошибки не являются детерминированными, и такое же поведение может не сохраняться при обновлении системы.
Возвращаемое значение
Возвращает значение 0 для успешного выполнения, -1 для сбоя, в этом случае errno
задается значение ошибки.