Existe alguma maneira de verificar se realmente meu dispositivo incorporado possui uma conexão funcionando (ou seja, pode acessar a WAN)? Meu dispositivo não possui RTOS, portanto, não posso confiar nas funcionalidades do SO, como ping. Percebo que o DHCP fornece um IP correto para o meu dispositivo, mas não é 100% verdade que, dado um IP correto, posso acessar, por exemplo, www.google.com.
Eu já fiz algumas pesquisas e existem diferentes abordagens:
- é impossível
- é uma pergunta estúpida
- soluções alternativas de todos os tipos, mas eu me sinto confiante com relação ao SO, então tentarei.
Então, se essa pergunta tiver 1) ou 2) como resposta, eu a removerei e tudo bem.
networking
microcontrollers
panc_fab
fonte
fonte
Respostas:
Obrigado pessoal pelo apoio. Finalmente usei o método descrito por Helmar, no qual apenas tento alcançar o alvo desejado e ver. Se eu conseguir obter uma resposta do destino, sei que minha conexão está ativa e funcionando, caso contrário, consigo desconectar o dispositivo e tentar novamente com uma nova conexão.
fonte
Implemente o ping você mesmo. Você provavelmente pode encontrar um exemplo para sua plataforma.
Ou entre em contato com algum serviço através de outro protocolo que você possa oferecer suporte; apenas não assuma que o serviço permanecerá disponível durante toda a vida útil do dispositivo, a menos que seja um servidor que você gerencia.
Se seu objetivo real é permitir o tráfego de entrada , geralmente é uma má idéia e difícil para os usuários finais permitirem que suas redes permitam. Em vez disso, você normalmente faz / mantém uma conexão de saída com um servidor no qual ele pode encapsular ou retransmitir o tráfego de entrada aprovado para o seu dispositivo. Você pode prontamente equipar o código que faz / mantém / reconecta este túnel com um mecanismo de saída para indicar sua integridade.
fonte