Udostępnij za pośrednictwem


Funkcja Networking_GetInterfaceConnectionStatus

Nagłówek: #include <applibs/networking.h>

Pobiera stan połączenia sieciowego dla interfejsu sieciowego. Po wywołaniu Networking_GetInterfaceConnectionStatus system operacyjny zwraca ostatni znany stan i próbuje zaktualizować stan określonego interfejsu w Networking_InterfaceConnectionStatus wyliczenia.

Zwracana Networking_InterfaceConnectionStatus wyliczenia odzwierciedla ostatni znany stan interfejsu, łączności sieciowej, adresu IP i połączenia internetowego. Po wywołaniu Networking_GetInterfaceConnectionStatus system operacyjny próbuje zaktualizować te flagi stanu i nawiązać http://www.msftconnecttest.com połączenie zgodnie z wymaganiami sieciowymi systemu operacyjnego Azure Sphere w celu ustalenia, czy urządzenie ma łączność z Internetem.

Aplikacja może podjąć działanie na podstawie stanu Networking_InterfaceConnectionStatus_ConnectedToInternet , który wskazuje, czy urządzenie jest połączone z Internetem. Jednak z różnych powodów połączenie sieciowe lub internetowe może zostać utracone między czasem aktualizacji stanu a czasem próby nawiązania połączenia z Internetem przez aplikację. Dlatego aplikacja powinna zawierać logikę, która pozwala na inteligentne wybory w przypadku wystąpienia zmian w dostępności sieci i Internetu. Aplikacja powinna obsługiwać błędy połączenia i odpowiednio się dostosować.

Jeśli zwrócony stan wskazuje, że urządzenie nie jest połączone z Internetem, aplikacja może ponownie zadzwonić do Networking_GetInterfaceConnectionStatus w celu ustalenia, kiedy stan urządzenia zostanie zmieniony.

Jeśli Networking_InterfaceConnectionStatus_ConnectedToInternet wskazuje, że urządzenie jest połączone z Internetem, urządzenie nie powinno wyszukiwać stanu więcej niż raz na 90 sekund. Jeśli ta funkcja stanu połączenia wielokrotnie zwraca wskazanie, że urządzenie jest połączone z Internetem, system operacyjny ogranicza sprawdzanie stanu, jeśli interwał ankiety jest zbyt krótki. Zalecany interwał ankiet aplikacji to jedno żądanie/dwie minuty.

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

Parametry

Błędy

Zwraca wartość -1 w przypadku napotkania błędu i ustawia errno wartość błędu.

  • EFAULT: outStatus parametr ma wartość NULL.

  • ENOENT: networkInterfaceName interfejs nie istnieje.

  • EAGAIN: stos sieci nie jest gotowy.

Mogą być również określone inne errno błędy; takie błędy nie są deterministyczne i to samo zachowanie może nie być zachowane za pośrednictwem aktualizacji systemu.

Zwracana wartość

Zwraca wartość 0 dla powodzenia, -1 dla niepowodzenia, w którym to przypadku errno jest ustawiona wartość błędu.

Pojęcia i próbki