Home Menu

Menu



Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android


 
Herramientas
  #1  
Viejo 13/09/14, 14:04:47
Avatar de Guixe94
Guixe94 Guixe94 no está en línea
Desarrollador
Mensajes: 900
 
Fecha de registro: abr 2012
Localización: Barcelona, Catalunya
Mensajes: 900
Modelo de smartphone: HTC ONE y Galaxy Note 3
Versión de ROM: Ultima Orange Stock
Tu operador: Orange
Mencionado: 0 comentarios
Tagged: 0 hilos
Comprobar estado haciendo ping?

Hola,

En una aplicación mía, quiero poner un apartado en el que se muestran servidores de un juego (minecraft) y queria poner una imagen de un punto rojo por ejemplo si esta offline y verde si esta on, vale el problema es que no se como comprobar el estado del servidor des de la aplicación.. estos servidores sueles conectarte por IP o por dominio.. así que supongo que haciendo un simple "ping" podre comprobar el estado y si responde o no...

Hay alguna manera de poder comprobar esto así des de la aplicación?

Gracias chic@s! ;)
Responder Con Cita


  #2  
Viejo 13/09/14, 14:19:00
Avatar de kriogeN
kriogeN kriogeN no está en línea
Colaborador/a
Mensajes: 4,637
Compra y venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Versión de ROM: CM13 - CM 11
Tu operador: Vodafone
Mencionado: 60 comentarios
Tagged: 3 hilos
Puedes usar la clase InetAdress, iniciando el objeto con getByAdress o getByName, según sea una IP o un dominio. Después usando el método isReachable con un TimeOut máximo te dice si consigue conectar o no. Por defecto el Ping es de 1 segundo, es decir, 1000 milisegundos.

Ahora bien, con eso imitas el comportamiento del comando Ping, pero eso sólo significa que la máquina está activa, no que el servidor está corriendo. Además, si el router donde está la máquina filtra los comandos ICMP no te responderá al Ping, aún estando funcionando el servidor.

En conclusión, lo mejor es que trates de iniciar la conexión, aunque sea una simple conexión de Socket al puerto y ver si conecta o no, y si responde es que está activo, si no responde es que no lo está.
Responder Con Cita
Gracias de parte de:
  #3  
Viejo 13/09/14, 14:21:03
Avatar de Guixe94
Guixe94 Guixe94 no está en línea
Desarrollador
Mensajes: 900
 
Fecha de registro: abr 2012
Localización: Barcelona, Catalunya
Mensajes: 900
Modelo de smartphone: HTC ONE y Galaxy Note 3
Versión de ROM: Ultima Orange Stock
Tu operador: Orange
Mencionado: 0 comentarios
Tagged: 0 hilos
Cita:
Originalmente Escrito por kriogeN Ver Mensaje
Puedes usar la clase InetAdress, iniciando el objeto con getByAdress o getByName, según sea una IP o un dominio. Después usando el método isReachable con un TimeOut máximo te dice si consigue conectar o no. Por defecto el Ping es de 1 segundo, es decir, 1000 milisegundos.

Ahora bien, con eso imitas el comportamiento del comando Ping, pero eso sólo significa que la máquina está activa, no que el servidor está corriendo. Además, si el router donde está la máquina filtra los comandos ICMP no te responderá al Ping, aún estando funcionando el servidor.

En conclusión, lo mejor es que trates de iniciar la conexión, aunque sea una simple conexión de Socket al puerto y ver si conecta o no, y si responde es que está activo, si no responde es que no lo está.
Gracias kriogen voy a probrar lo que dices. No se muy bien del todo como funcionan esos servidores investigare un poco y entonces ya aplicare lo que mas dicho.

Saludos!
Responder Con Cita
Respuesta

Estás aquí
Regresar   HTCMania > Todo sobre Android > Programación y Desarrollo para Android


Reglas de Mensajes
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Las caritas están On
Código [IMG] está On
Código HTML está Off

Saltar a Foro



Hora actual: 09:57:22 (GMT +2)

Cookies
Powered by vBulletin™
Copyright © vBulletin Solutions, Inc. All rights reserved.
 
HTCMania: líderes desde el 2007