Compartir vía


Función Networking_GetInterfaceConnectionStatus

Encabezado: #include <applibs/networking.h>

Obtiene el estado de conexión de red de una interfaz de red. Cuando se llama a Networking_GetInterfaceConnectionStatus , el sistema operativo devuelve el último estado conocido e intenta actualizar el estado de la interfaz especificado en la enumeración de Networking_InterfaceConnectionStatus.

La enumeración Networking_InterfaceConnectionStatus devuelta refleja el último estado conocido de la interfaz, la conectividad de red, la dirección IP y la conexión a Internet. Cuando se llama a Networking_GetInterfaceConnectionStatus , el sistema operativo intenta actualizar estas marcas de estado y realizar una llamada como http://www.msftconnecttest.com se indica en requisitos de red de Azure Sphere OS, con el fin de determinar si el dispositivo tiene conectividad a Internet.

Una aplicación puede tomar medidas en función del estado del Networking_InterfaceConnectionStatus_ConnectedToInternet , lo que indica si el dispositivo está conectado a Internet. Sin embargo, por varias razones, la conectividad a la red o a Internet podría perderse entre el momento en que se actualizó el estado y el momento en que la aplicación intenta conectarse a Internet. Por lo tanto, la aplicación debe incluir lógica que permite elecciones inteligentes cuando se encuentran cambios en la disponibilidad de la red e Internet. La aplicación debe manejar los errores de conexión y adaptarse en consecuencia.

Si el estado devuelto indica que el dispositivo no está conectado a Internet, la aplicación puede llamar a Networking_GetInterfaceConnectionStatus de nuevo para determinar cuándo se cambia el estado del dispositivo.

Si Networking_InterfaceConnectionStatus_ConnectedToInternet indica que el dispositivo está conectado a Internet, no debe sondear el estado más de una vez cada 90 segundos. Si esta función de estado de conexión devuelve repetidamente la indicación de que el dispositivo está conectado a Internet, el sistema operativo limita la comprobación de estado si el intervalo de sondeo es demasiado corto. El intervalo de sondeo de la aplicación recomendada es de una solicitud/dos minutos.

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

Parámetros

Errores

Devuelve -1 si se encuentra un error y se establece errno en el valor de error.

  • EFAULT: el outStatus parámetro es NULL.

  • ENOENT: la networkInterfaceName interfaz no existe.

  • EAGAIN: la pila de redes no está lista.

También se pueden especificar otros errno errores; estos errores no son deterministas y es posible que no se conserve el mismo comportamiento a través de las actualizaciones del sistema.

Valor devuelto

Devuelve 0 para éxito, -1 para error, en cuyo caso errno se establece en el valor de error.

Conceptos y ejemplos