Existe-t-il un moyen de vérifier si mon périphérique intégré dispose d'une connexion fonctionnelle (c'est-à-dire qu'il peut atteindre le WAN)? Mon appareil n'a pas de RTOS, je ne peux donc pas compter sur les fonctionnalités du système d'exploitation comme le ping. Je peux voir que le DHCP donne une IP correcte à mon appareil, mais ce n'est pas vrai à 100% que, avec une IP correcte, je peux ensuite atteindre par exemple www.google.com.
J'ai déjà fait quelques recherches et il existe différentes approches:
- c'est impossible
- c'est une question stupide
- solutions de contournement de toutes sortes, mais je me sens confiant en ce qui concerne SO donc je vais essayer.
Donc, si c'est la question a 1) ou 2) comme réponses, je vais le supprimer et ça va.
networking
microcontrollers
panc_fab
la source
la source
Réponses:
Merci les gars pour le soutien. J'ai finalement utilisé la méthode décrite par Helmar dans laquelle j'essaie simplement d'atteindre la cible souhaitée et de voir. Si je peux obtenir une réponse de la cible, je sais que ma connexion est vivante et fonctionne, sinon je parviens à déconnecter l'appareil et à réessayer avec une nouvelle connexion.
la source
Implémentez vous-même le ping. Vous pouvez probablement trouver un exemple pour votre plateforme.
Ou contactez un service via un autre protocole que vous pouvez prendre en charge; ne présumez tout simplement pas que le service restera disponible pendant la durée de vie de l'appareil, sauf s'il s'agit d'un serveur que vous gérez.
Si votre objectif réel est d'autoriser le trafic entrant , c'est généralement une mauvaise idée et difficile pour les utilisateurs finaux d'activer leurs réseaux. Au lieu de cela, vous établissez / maintenez généralement une connexion sortante vers un serveur vers lequel il pourrait tunneler ou relayer le trafic entrant filtré destiné à votre appareil. Vous pouvez facilement équiper le code qui fait / maintient / reconnecte ce tunnel avec un mécanisme de sortie pour indiquer sa santé.
la source