Funzione Networking_GetInterfaceConnectionStatus
Intestazione: #include <applicazioni/networking.h>
Ottiene lo stato della connessione di rete per un'interfaccia di rete. Quando viene chiamato Networking_GetInterfaceConnectionStatus , il sistema operativo restituisce l'ultimo stato noto e tenta di aggiornare lo stato dell'interfaccia specificato nell'enumerazione Networking_InterfaceConnectionStatus.
L'enumerazione Networking_InterfaceConnectionStatus restituita riflette l'ultimo stato noto dell'interfaccia, della connettività di rete, dell'indirizzo IP e della connessione Internet. Quando viene chiamato Networking_GetInterfaceConnectionStatus , il sistema operativo tenta di aggiornare questi flag di stato ed effettuare una chiamata, http://www.msftconnecttest.com come indicato nei requisiti di rete del sistema operativo Azure Sphere, per determinare se il dispositivo dispone di connettività Internet.
Un'applicazione può intervenire in base allo stato Networking_InterfaceConnectionStatus_ConnectedToInternet , che indica se il dispositivo è connesso a Internet. Tuttavia, per vari motivi, la connettività di rete o Internet potrebbe andare persa tra il momento in cui lo stato è stato aggiornato e il momento in cui l'applicazione tenta di connettersi a Internet. Di conseguenza, l'applicazione deve includere la logica che consente scelte intelligenti in caso di modifiche alla disponibilità di rete e Internet. L'applicazione deve gestire gli errori di connessione e adattarsi di conseguenza.
Se lo stato restituito indica che il dispositivo non è connesso a Internet, l'applicazione può chiamare di nuovo Networking_GetInterfaceConnectionStatus per determinare quando viene modificato lo stato del dispositivo.
Se Networking_InterfaceConnectionStatus_ConnectedToInternet indica che il dispositivo è connesso a Internet, il dispositivo non deve eseguire il polling dello stato più di una volta ogni 90 secondi. Se questa funzione di stato della connessione restituisce ripetutamente l'indicazione che il dispositivo è connesso a Internet, il sistema operativo ha limitato la verifica dello stato se l'intervallo di polling è troppo breve. L'intervallo di polling consigliato per le applicazioni è di una richiesta/due minuti.
int Networking_GetInterfaceConnectionStatus(const char *networkInterfaceName, Networking_InterfaceConnectionStatus *outStatus);
Parametri
networkInterfaceName
Nome dell'interfaccia di rete.outStatus
Puntatore all'enumerazione Networking_InterfaceConnectionStatus che riceve lo stato della connessione di rete.
Errori
Restituisce -1 se si verifica un errore e imposta errno
il valore di errore.
EFAULT: il
outStatus
parametro è NULL.ENOENT: l'interfaccia
networkInterfaceName
non esiste.EAGAIN: lo stack di rete non è pronto.
Potrebbero anche essere specificati altri errno
errori. Tali errori non sono deterministici e lo stesso comportamento potrebbe non essere mantenuto tramite gli aggiornamenti di sistema.
Valore restituito
Restituisce 0 per operazione riuscita, -1 per errore, nel qual caso errno
è impostato sul valore di errore.