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
networkInterfaceName
Nazwa interfejsu sieciowego.outStatus
Wskaźnik do Networking_InterfaceConnectionStatus wyliczenia, który odbiera stan połączenia sieciowego.
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.