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
networkInterfaceName
Název síťového rozhraní.outStatus
Ukazatel na Networking_InterfaceConnectionStatus výčtu, který přijímá stav síťového připojení.
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.