Networking_GetInterfaceConnectionStatus-Funktion

Header: #include <applibs/networking.h>

Ruft die Netzwerkverbindung status für eine Netzwerkschnittstelle ab. Wenn Networking_GetInterfaceConnectionStatus aufgerufen wird, gibt das Betriebssystem den letzten bekannten status zurück und versucht, die angegebene Schnittstelle status in der Networking_InterfaceConnectionStatus-Enumeration zu aktualisieren.

Die zurückgegebene Networking_InterfaceConnectionStatus-Enumeration gibt den letzten bekannten status der Schnittstelle, der Netzwerkkonnektivität, der IP-Adresse und der Internetverbindung an. Wenn Networking_GetInterfaceConnectionStatus aufgerufen wird, versucht das Betriebssystem, diese status-Flags zu aktualisieren und einen Aufruf von durchzuführenhttp://www.msftconnecttest.com, wie unter Netzwerkanforderungen für das Azure Sphere-Betriebssystem angegeben, um zu ermitteln, ob das Gerät über eine Internetverbindung verfügt.

Eine Anwendung kann aktionen basierend auf der Networking_InterfaceConnectionStatus_ConnectedToInternet status, die angibt, ob das Gerät mit dem Internet verbunden ist. Aus verschiedenen Gründen kann die Netzwerk- oder Internetkonnektivität jedoch zwischen dem Zeitpunkt, zu dem die status aktualisiert wurde, und dem Zeitpunkt, zu dem die Anwendung versucht, eine Verbindung mit dem Internet herzustellen, verloren gehen. Daher sollte die Anwendung Logik enthalten, die intelligente Entscheidungen ermöglicht, wenn Änderungen an der Netzwerk- und Internetverfügbarkeit auftreten. Die Anwendung sollte Verbindungsfehler behandeln und entsprechend anpassen.

Wenn die zurückgegebene status angibt, dass das Gerät nicht mit dem Internet verbunden ist, kann die Anwendung Networking_GetInterfaceConnectionStatus erneut aufrufen, um zu bestimmen, wann das Gerät status geändert wird.

Wenn Networking_InterfaceConnectionStatus_ConnectedToInternet angibt, dass das Gerät mit dem Internet verbunden ist, sollte das Gerät nicht mehr als einmal alle 90 Sekunden status abfragen. Wenn diese Verbindung status Funktion wiederholt den Hinweis zurückgibt, dass das Gerät mit dem Internet verbunden ist, drosselt das Betriebssystem die status überprüfen, ob das Abrufintervall zu kurz ist. Das empfohlene Anwendungsabrufintervall beträgt eine Anforderung/zwei Minuten.

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

Parameter

  • networkInterfaceName Der Name der Netzwerkschnittstelle.

  • outStatusEin Zeiger auf die Networking_InterfaceConnectionStatus Enumeration, die die Netzwerkverbindung status empfängt.

Fehler

Gibt -1 zurück, wenn ein Fehler auftritt, und legt auf den Fehlerwert fest errno .

  • EFAULT: Der outStatus Parameter ist NULL.

  • ENOENT: Die networkInterfaceName Schnittstelle ist nicht vorhanden.

  • EAGAIN: Der Netzwerkstapel ist nicht bereit.

Auch andere errno Fehler können angegeben werden. Solche Fehler sind nicht deterministisch, und dasselbe Verhalten wird möglicherweise nicht durch Systemupdates beibehalten.

Rückgabewert

Gibt 0 für erfolg, -1 für Fehler zurück. In diesem Fall errno wird auf den Fehlerwert festgelegt.

Konzepte und Beispiele