5 votos

El teléfono no responde al ping

Estoy tratando de desarrollar una aplicación que sepa cuando estoy en casa basado en si mi teléfono está en mi red wifi o no. Me encuentro con un problema extraño en el que sólo puedo hacer ping al teléfono si recientemente (en el último minuto más o menos) he intentado acceder a una página web en la máquina en la que estoy haciendo ping. Ni siquiera puedo obtener una respuesta ARP a menos que haya intentado acceder recientemente a la máquina.

Entonces, ¿los teléfonos Android tienen un cortafuegos muy restrictivo de forma predeterminada? ¿Hay alguna manera de que pueda cambiar esto?

No creo que sea un problema de la red, porque puedo hacer ping al teléfono en cualquier momento desde mi router, sólo que no responde a otros clientes de la red.

5voto

Lie Ryan Puntos 15629

Creo que esto es simplemente porque Android pone el Wifi a dormir para ahorrar energía cuando la pantalla se apaga. Puedes probar a configurar la política de sueño de la Wifi: Settings > Wireless & Network Setting > Wifi Settings > Press Menu button > Advanced > Wifi sleep policy a Never y ver si tu problema aún persiste.

Sin embargo, en lugar de que el servidor haga ping a su teléfono, creo que será más fácil para el teléfono hacer "ping" (o hacer una petición HTTP o a través de otros métodos) al servidor cuando se esté conectando a su red Wifi. Su aplicación puede registrarse en el sistema para recibir una Intención de emisión cuando se produzcan ciertos eventos Wifi.

0 votos

Sí, eso era. Intentaba evitar tener una aplicación ejecutándose en el teléfono, porque realmente no me gusta escribir código en Java. Sin embargo, parece que puede ser necesario.

0 votos

Puedes utilizar Tasker o Locale en lugar de escribir tu propia aplicación. Ambas te permiten una flexibilidad considerable a la hora de establecer reglas, que podrían incluir la realización de una petición http a tu servidor cuando estés en el rango de tu red inalámbrica.

1voto

Antonello Puntos 11

Si tienes Droidwall permitir el acceso a "(kernel) - Kernel de Linux".

En mi teléfono esta es definitivamente la razón por la que Android responde o no a un ping o tracert.

0 votos

La aplicación "Droidwall" de Fromer ha sido renombrada o desarrollada como AFWall . Y sí poner la marca de verificación para la columna WiFi en "(kernel) - Linux Kernel" lo solucionó también para mí.

1voto

goldenratio Puntos 667

Android no acepta la conexión de las direcciones ip que faltan en la caché del arp. Creo que eso es un error.

1 votos

¿Puede dar más detalles, por favor?

0voto

Qiyu Wen Puntos 151

Esto lo he estado experimentando todavía con Android Q todavía hoy (2019). Voy a ir con una solución IFTTT usando webhooks para enviar el comando REST que necesito enviar. Mi original script fue escrito de tal manera que comprobé cuando mi teléfono estaba "lejos" en el transcurso de un minuto. Si volvía a "casa" en ese tiempo no encendía las cámaras de seguridad. Ahora, tendré que cambiar esa programación a otro tipo de dispositivo (Dispositivos Universales ISY). La función de temporizador es importante ya que un teléfono puede necesitar ser reiniciado, etc.

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X