Sdílet prostřednictvím


funkce Networking_GetInterfaceConnectionStatus

Hlavička: #include <applibs/networking.h>

Získá stav síťového připojení pro síťové rozhraní. Při volání Networking_GetInterfaceConnectionStatus vrátí operační systém poslední známý stav a pokusí se aktualizovat zadaný stav rozhraní v Networking_InterfaceConnectionStatus výčtu.

Vrácený výčet Networking_InterfaceConnectionStatus odráží poslední známý stav rozhraní, připojení k síti, IP adresu a připojení k internetu. Při volání Networking_GetInterfaceConnectionStatus se operační systém pokusí aktualizovat tyto příznaky stavu a provést volání http://www.msftconnecttest.com , jak je uvedeno v požadavcích na sítě operačního systému Azure Sphere, aby zjistil, jestli má zařízení připojení k internetu.

Aplikace může provést akci na základě stavu Networking_InterfaceConnectionStatus_ConnectedToInternet , který označuje, jestli je zařízení připojené k internetu. Z různých důvodů však může dojít ke ztrátě připojení k síti nebo internetu mezi okamžikem aktualizace stavu a časem, kdy se aplikace pokusí připojit k internetu. Proto by aplikace měla obsahovat logiku, která umožňuje inteligentní volby při výskytu změn dostupnosti sítě a internetu. Aplikace by měla zpracovávat chyby připojení a odpovídajícím způsobem se přizpůsobovat.

Pokud vrácený stav značí, že zařízení není připojené k internetu, aplikace může znovu volat Networking_GetInterfaceConnectionStatus , aby určila, kdy se stav zařízení změnil.

Pokud Networking_InterfaceConnectionStatus_ConnectedToInternet značí, že je zařízení připojené k internetu, nemělo by se zařízení dotazovat na stav více než jednou za 90 sekund. Pokud tato funkce stavu připojení opakovaně vrací indikaci, že zařízení je připojené k internetu, operační systém omezí kontrolu stavu, pokud je interval dotazování příliš krátký. Doporučený interval dotazování aplikace je jedna žádost za dvě minuty.

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

Parametry

Chyby

Vrátí hodnotu -1, pokud dojde k chybě, a nastaví errno se na chybovou hodnotu.

  • EFAULT: outStatus Parametr je NULL.

  • ENOENT: networkInterfaceName rozhraní neexistuje.

  • EAGAIN: Síťový zásobník není připravený.

Je také možné zadat všechny ostatní errno chyby. Tyto chyby nejsou deterministické a stejné chování nemusí být zachováno prostřednictvím aktualizací systému.

Vrácená hodnota

Vrátí hodnotu 0 pro úspěch, -1 pro selhání. V tomto případě errno je nastavená na chybovou hodnotu.

Koncepty a ukázky