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
networkInterfaceName
El nombre de la interfaz de red.outStatus
Puntero a la enumeración de Networking_InterfaceConnectionStatus que recibe el estado de conexión de red.
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.