5 votes

Le téléphone ne répond pas au ping

J'essaie de développer une application qui sait quand je suis chez moi en fonction de la présence ou non de mon téléphone sur mon réseau wifi. Je rencontre un problème étrange : je ne peux envoyer un ping au téléphone que si j'ai récemment (dans la dernière minute environ) essayé d'accéder à une page Web sur la machine sur laquelle j'envoie le ping. Je ne peux même pas obtenir une réponse ARP si je n'ai pas essayé d'accéder récemment à la machine.

Alors, les téléphones Android ont-ils un pare-feu très restrictif par défaut ? Existe-t-il un moyen de changer cela ?

Je ne pense pas qu'il s'agisse d'un problème de réseau, car je peux envoyer un ping au téléphone à tout moment depuis mon routeur, mais il ne répond pas aux autres clients du réseau.

6voto

Thej Points 655

Je pense que c'est simplement parce qu'Android met le Wifi en veille pour économiser de l'énergie lorsque l'écran est éteint. Vous pouvez essayer de régler la politique de mise en veille du Wifi : Settings > Wireless & Network Setting > Wifi Settings > Press Menu button > Advanced > Wifi sleep policy a Never et voyez si votre problème persiste.

Cependant, au lieu de faire en sorte que votre serveur envoie un ping à votre téléphone, je pense qu'il serait plus facile pour le téléphone d'envoyer un ping (ou de faire une requête HTTP ou par d'autres méthodes) au serveur lorsqu'il se connecte à votre réseau Wifi. Votre application peut s'inscrire au système pour recevoir une diffusion d'intention lorsque certains événements Wifi se produisent.

1voto

Alison R. Points 3920

Si vous avez Droidwall permet l'accès à "(kernel) - Linux Kernel".

Sur mon téléphone, c'est certainement la raison pour laquelle Android répond ou non à un ping ou tracert.

0voto

user203875 Points 1

J'ai rencontré ce problème avec Android Q encore aujourd'hui (2019). Je vais opter pour une solution IFTTT utilisant des webhooks pour envoyer la commande REST dont j'ai besoin d'envoyer. Mon script original était écrit de telle sorte que je vérifiais quand mon téléphone était "absent" au cours d'une minute. S'il revenait "à la maison" dans ce laps de temps, je n'allumais pas les caméras de sécurité. Maintenant, je vais devoir transférer cette programmation à un autre type d'appareil (Universal Devices ISY). La fonction de minuterie est importante car un téléphone peut avoir besoin d'être redémarré, etc.

0voto

john mcdonald Points 253

Résolu : il faut que le téléphone sache qu'il est sur un réseau local. Installez une application de gestion de réseau quelconque "Ip Tools" et cliquez sur "Lan scanner", vous verrez tous les autres appareils connectés au réseau, et maintenant vérifiez à nouveau que le ping fonctionne !

0voto

martineau Points 21665

J'ai le même problème avec mon appareil Android qui fonctionne uniquement sous Android 11. Je ne sais pas si c'est un problème lié à Android 11 ou à mon nouveau téléphone.

Sur d'autres appareils fonctionnant sous Android 10, je n'ai jamais eu de problème.

Je dois d'abord installer PingTool pour envoyer un ping à mon PC afin que ce dernier ait l'entrée ARP de ce périphérique. Je n'aime vraiment pas cela.

Pour cette raison, il faut passer par une étape supplémentaire pour connecter Android Studio à cet appareil via ADB.

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X