Share via


Networking_GetInterfaceConnectionStatus functie

Header: #include <applibs/networking.h>

Hiermee haalt u de status van de netwerkverbinding voor een netwerkinterface op. Wanneer Networking_GetInterfaceConnectionStatus wordt aangeroepen, retourneert het besturingssysteem de laatst bekende status en probeert het de opgegeven interfacestatus bij te werken in de Networking_InterfaceConnectionStatus opsomming.

De Networking_InterfaceConnectionStatus opsomming die wordt geretourneerd, weerspiegelt de laatst bekende status van de interface, de netwerkverbinding, het IP-adres en de internetverbinding. Wanneer Networking_GetInterfaceConnectionStatus wordt aangeroepen, probeert het besturingssysteem deze statusvlagmen bij te werken en een aanroep uit te http://www.msftconnecttest.com voeren zoals vermeld in de netwerkvereisten voor het Azure Sphere-besturingssysteem, om te bepalen of het apparaat een internetverbinding heeft.

Een toepassing kan actie ondernemen op basis van de Networking_InterfaceConnectionStatus_ConnectedToInternet status, die aangeeft of het apparaat is verbonden met internet. Om verschillende redenen kan de netwerk- of internetverbinding echter verloren gaan tussen het moment dat de status is bijgewerkt en het moment dat de toepassing verbinding probeert te maken met internet. Daarom moet de toepassing logica bevatten die slimme keuzes mogelijk maakt bij wijzigingen in de beschikbaarheid van het netwerk en internet. De toepassing moet verbindingsfouten verwerken en zich dienovereenkomstig aanpassen.

Als de geretourneerde status aangeeft dat het apparaat niet is verbonden met internet, kan de toepassing Networking_GetInterfaceConnectionStatus opnieuw aanroepen om te bepalen wanneer de apparaatstatus wordt gewijzigd.

Als Networking_InterfaceConnectionStatus_ConnectedToInternet aangeeft dat het apparaat is verbonden met internet, mag het apparaat niet meer dan één keer per 90 seconden naar de status peilen. Als deze verbindingsstatusfunctie herhaaldelijk de indicatie retourneert dat het apparaat is verbonden met internet, beperkt het besturingssysteem de statuscontrole als het polling-interval te kort is. Het aanbevolen polling-interval voor toepassingen is één aanvraag/twee minuten.

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

Parameters

  • networkInterfaceName De naam van de netwerkinterface.

  • outStatus Een verwijzing naar de Networking_InterfaceConnectionStatus opsomming die de status van de netwerkverbinding ontvangt.

Fouten

Retourneert -1 als er een fout optreedt en wordt ingesteld errno op de foutwaarde.

  • EFAULT: de outStatus parameter is NULL.

  • ENOENT: de networkInterfaceName interface bestaat niet.

  • EAGAIN: de netwerkstack is niet gereed.

errno Andere fouten kunnen ook worden opgegeven; dergelijke fouten zijn niet deterministisch en hetzelfde gedrag wordt mogelijk niet bewaard via systeemupdates.

Retourwaarde

Retourneert 0 voor geslaagd, -1 voor fout, in welk geval errno is ingesteld op de foutwaarde.

Concepten en voorbeelden