Networking_GetInterfaceConnectionStatus関数
ヘッダー: applibs </networking.h #include>
ネットワーク インターフェイスのネットワーク接続状態を取得します。 Networking_GetInterfaceConnectionStatusが呼び出されると、OS は最後の既知の状態を返し、Networking_InterfaceConnectionStatus列挙型で指定されたインターフェイスの状態を更新しようとします。
返されるNetworking_InterfaceConnectionStatus列挙型には、インターフェイス、ネットワーク接続、IP アドレス、インターネット接続の最後の既知の状態が反映されます。 Networking_GetInterfaceConnectionStatusが呼び出されると、OS は、デバイスにインターネット接続があるかどうかを判断するために、これらの状態フラグを更新し、Azure Sphere OS ネットワーク要件で説明されているように を呼び出http://www.msftconnecttest.comそうとします。
アプリケーションは、デバイスがインターネットに接続されているかどうかを示す Networking_InterfaceConnectionStatus_ConnectedToInternet 状態に基づいてアクションを実行できます。 ただし、さまざまな理由により、状態が更新されてからアプリケーションがインターネットへの接続を試みるまでの間に、ネットワークまたはインターネット接続が失われる可能性があります。 そのため、アプリケーションには、ネットワークとインターネットの可用性の変化に遭遇したときにスマートな選択を可能にするロジックを含める必要があります。 アプリケーションは接続エラーを処理し、それに応じて適応する必要があります。
返された状態がデバイスがインターネットに接続されていないことを示している場合、アプリケーションはデバイスの状態がいつ変更されたかを判断するために、 Networking_GetInterfaceConnectionStatus をもう一度呼び出す可能性があります。
Networking_InterfaceConnectionStatus_ConnectedToInternetデバイスがインターネットに接続されていることを示している場合、デバイスは 90 秒ごとに 1 回以上状態をポーリングしないでください。 この接続状態関数が、デバイスがインターネットに接続されていることを示すメッセージを繰り返し返す場合、ポーリング間隔が短すぎる場合、OS は状態チェックを調整します。 推奨されるアプリケーション ポーリング間隔は、1 要求/2 分です。
int Networking_GetInterfaceConnectionStatus(const char *networkInterfaceName, Networking_InterfaceConnectionStatus *outStatus);
networkInterfaceName
ネットワーク インターフェイスの名前。outStatus
ネットワーク接続の状態を受け取る Networking_InterfaceConnectionStatus 列挙型へのポインター。
エラーが発生した場合は -1 を返し、エラー値に設定します errno
。
EFAULT: パラメーターは
outStatus
NULL です。ENOENT:
networkInterfaceName
インターフェイスが存在しません。EAGAIN: ネットワーク スタックの準備ができていない。
その他 errno
のエラーも指定できます。このようなエラーは決定的ではなく、同じ動作はシステム更新によって保持されない可能性があります。
成功の場合は 0、失敗の場合は -1 を返します。この場合 errno
はエラー値に設定されます。