Partilhar via


Função Networking_GetInterfaceConnectionStatus

Cabeçalho: #include <applibs/networking.h>

Obtém o estado da ligação de rede para uma interface de rede. Quando Networking_GetInterfaceConnectionStatus é chamado, o SO devolve o último estado conhecido e tenta atualizar o estado da interface especificado no Networking_InterfaceConnectionStatus enumeração.

A enumeração Networking_InterfaceConnectionStatus devolvida reflete o último estado conhecido da interface, conectividade de rede, endereço IP e ligação à Internet. Quando Networking_GetInterfaceConnectionStatus é chamado, o SO tenta atualizar estes sinalizadores de estado e efetuar uma chamada para http://www.msftconnecttest.com conforme indicado nos requisitos de rede do SO do Azure Sphere, de modo a determinar se o dispositivo tem conectividade à Internet.

Uma aplicação pode tomar medidas com base no estado Networking_InterfaceConnectionStatus_ConnectedToInternet , o que indica se o dispositivo está ligado à Internet. No entanto, por vários motivos, a conectividade de rede ou Internet pode perder-se entre o momento em que o estado foi atualizado e a hora em que a aplicação tenta ligar-se à Internet. Por conseguinte, a aplicação deve incluir lógica que permita escolhas inteligentes ao encontrar alterações na disponibilidade da rede e da Internet. A aplicação deve processar erros de ligação e adaptar-se em conformidade.

Se o estado devolvido indicar que o dispositivo não está ligado à Internet, a aplicação poderá chamar Networking_GetInterfaceConnectionStatus novamente para determinar quando o estado do dispositivo é alterado.

Se Networking_InterfaceConnectionStatus_ConnectedToInternet indicar que o dispositivo está ligado à Internet, o dispositivo não deve consultar o estado mais do que uma vez a cada 90 segundos. Se esta função de estado de ligação devolver repetidamente a indicação de que o dispositivo está ligado à Internet, o SO limita o estado e verifica se o intervalo de consulta é demasiado curto. O intervalo de consulta da aplicação recomendado é um pedido/dois minutos.

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

Parâmetros

Erros

Devolve -1 se for encontrado um erro e define errno para o valor de erro.

  • EFAULT: o outStatus parâmetro é NULL.

  • ENOENT: a networkInterfaceName interface não existe.

  • EAGAIN: a pilha de rede não está pronta.

Também pode ser especificado qualquer outro errno ; esses erros não são deterministas e o mesmo comportamento pode não ser retido através de atualizações do sistema.

Valor devolvido

Devolve 0 para êxito, -1 para falha, caso errno em que está definido como o valor de erro.

Conceitos e exemplos