30 votos

¿Cómo llegar al ordenador local a través del nombre de la máquina en lugar de la IP?

Desarrollador aquí prototipo de una aplicación móvil, algo nuevo en el móvil:

  • Tengo un servicio HTTP simple que se ejecuta (actualmente) en mi portátil principal con nombre de máquina latitude .
  • Otro portátil llamado vaio que comparten la misma red WiFi pueden acceder a ese servicio a través de http://latitude:8080 -- en otras palabras, puede resolver fácilmente la IP (actual) 192.168.x.y (o cualquier IP dinámica que tenga en ese momento) de latitude de alguna manera.
  • Ahora mis teléfonos HTC Android, conectados a la misma red WiFi, pueden alcanzar la dirección IP de latitude para abrir en su navegador http://192.168.x.y:8080 funciona.
  • Pero también me gustaría usar el nombre de la máquina aquí, como cuando accedo al servicio HTTP desde vaio simplemente escribiendo http://latitude:8080 y que el teléfono resuelva la IP dinámica actual de latitude . Esto no funciona, sólo obtiene la página de error estándar del navegador: "Página web no disponible" .

¿Hay alguna configuración de DNS en Android que deba ajustar? No he encontrado nada jugando con los ajustes, y una pregunta como esta es notoriamente difícil de buscar en Google, también...

El One V tiene Android 4.0, y el One M7 tiene Android 4.2 por si eso supone una diferencia.

(Nota, esto debería funcionar incluso cuando el Android no está conectado por USB a mis ordenadores y no está actuando como Hotspot WiFi - obviamente, ya que está consumiendo mi red WiFi principal de todos modos).

0 votos

7voto

Izzy Puntos 45544

Independientemente de si está conectado a su red local a través de WiFi y el DHCP está en uso, Android siempre parece anular sus entradas DNS utilizando los servidores de Google. Es algo oculto, pero fácil de cambiar - siempre que tengas tus propios DNS en funcionamiento (muchos routers ya lo ofrecen).

Para ello, vaya a su lista de redes WiFi en Ajustes Si no hay una conexión WiFi, pulsa prolongadamente la entrada de tu WiFi, y selecciona para editarla. Activar Avanzado Configuración. Ahora puedes editar las entradas DNS. Simplemente reemplaza la primera entrada con la IP de tu propio servidor DNS, y deja la segunda entrada (DNS 2) intacta para que se pueda recuperar.

Ahora, si tu propio DNS puede resolver las máquinas de tu red local, deberías poder usar sus nombres de host para llegar a ellas. Sin Root y sin editar el hosts (pensé que podría ser una alternativa, si no tienes un servicio de DNS propio en funcionamiento). Funciona perfectamente conmigo y mi red ;)

1 votos

Gracias. Aquí está lo raro, cuando hago esto entonces mi router (puerta de enlace) ya se introduce también como DNS1 (y el de Google o 8.8.4.4 como DNS2). Bueno, voy con estos valores predeterminados y aplicarlos, NetBIOS y SMB están habilitados en la máquina de Windows, pero todavía no hay resolución de nombres ...

2 votos

No tengo planes con Windows. En mi caso, es un entorno basado en Linux, y el router (AVM Fritz!Box) tiene un servidor de nombres en funcionamiento. Funciona sin problemas.

0 votos

Esto debería aplicarse a lo sumo (si acaso) sólo a las versiones antiguas de Android. Mi primer dns es mi local mientras que el fallback es el 8.8.8.8 de google. Lo he comprobado con getprop | grep -i dns Ver también Android.stackexchange.com/a/32278/15713

1voto

Shadow Puntos 78

Cuando quiero un nombre de máquina en lugar de una IP, edito el archivo HOSTS. Intenta añadir los dispositivos y sus direcciones IP allí. Una búsqueda en Google para el archivo de hosts para su sistema operativo debe ser fácil.

3 votos

La edición de HOSTS sólo es útil si la dirección IP del portátil permanece siempre estática / igual. Este no será el caso, ya que estoy trabajando sobre la marcha, diferentes redes WiFi, direcciones IP dinámicas. Además, la edición de HOSTS requiere un Android rooteado, pero necesito que permanezca sin rootear y en gran medida sin retocar para probar en condiciones de "teléfono de consumo normal"

0voto

Añade dos líneas al final del archivo de hosts de tu dispositivo ( /etc/hosts ) con ES Explorer (necesita un dispositivo rooteado).

Plantilla:

your_host_machine's_IP_address  domain_name   

Ejemplo de domain_name puede ser localhost .

Ejemplo:

::1  domain_name 

Funciona bien cuando se escribe localhost en la barra de URL en lugar de la dirección IP.

0voto

John Bentley Puntos 101

En mi caso, en Windows 10, desactivar temporalmente el firewall de Windows hizo que la navegación a http://latitude:8080 posible.

A más largo plazo, he creado una regla para permitir este tipo de conexiones a través del firewall ...

  • {Windows} > Inicio > "Firewall" > Firewall de Windows Defender con Seguridad Avanzada. Reglas de entrada > Nueva regla ...

    • General
      • Nombre: Conexiones web TCP desde la LAN
      • Permitir la conexión si es segura ...
      • Elige: "Permitir la conexión si está autenticada y protegida en su integridad"
    • Protocolos y puertos
      • Tipo de protocolo: TCP
      • Puerto local: 80, 880
    • Avanzado
      • Especifica los perfiles a los que se aplica esta regla: Privado
  • {Android}. Prueba con Firefox o Chrome, no con Dolphin

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