Notre équipe développe un périphérique Internet Media basé sur Linux 2.6. Actuellement, nous détectons si la connectivité Internet est établie (via une connexion Ethernet filaire) en envoyant une requête ping à www.google.comMéthodes intelligentes pour un périphérique Linux embarqué pour détecter la connectivité Internet
Certains réseaux sur lesquels nous avons testé le périphérique ne prennent pas en charge le transfert de paquets ICMP, de sorte que notre code d'application signale par erreur Internet. comme indisponible dans ce cas. Est-ce que quelqu'un connaît une approche plus raffinée pour déduire si la connectivité Internet est disponible via/dev/eth0 sans avoir recours au ping d'un service bien connu?
J'ai répondu à cette question, c'est une dupe de. Vous pouvez le vérifier. –
Salut Pavel, vous faites un point intéressant. Qu'est-ce qui est "connecté"? et il existe en effet des idées différentes sur la façon dont un utilisateur final doit être "connecté". Pour nos applications, notre appareil doit pouvoir résoudre les adresses DNS et effectuer des échanges de messages arbitraires avec une grande variété d'autres machines (homologues) sur Internet, dont l'identité n'est connue qu'à l'exécution. Personnellement, je suis satisfait de la vérification par défaut proposée par ChristopheD. L'approche d'écho ICMP était clairement défectueuse puisque de nombreux administrateurs de liens réseau interdisent tous les types de trafic ICMP sur leurs liaisons. – sototozo