Solución:
El error de no ruta indica que cuando se intentó la conexión TCP, la conexión falló porque el software del protocolo subyacente no pudo encontrar una ruta de nodo de red a nodo de red al nodo de destino designado.
La solución depende en cierto modo del sistema operativo, pero principalmente requiere que configure sus tablas de enrutamiento para que el dispositivo desde el que está tratando de conectarse pueda averiguar cómo llegar al dispositivo al que desea conectarse.
Normalmente se especifica una puerta de enlace a la que cuando intenta conectarse, la solicitud de conexión sale por la puerta de enlace de la red para ser resuelta por otros dispositivos de tecnología de la información como enrutadores, etc.
Este parece ser un dispositivo Android, por lo que lo primero es asegurarse de tener conectividad ya sea WiFi o celular. Otro sería asegurarse de que el WiFi o el celular esté encendido y operativo.
La dirección IP que especifica normalmente se encuentra dentro de una subred privada. Entonces, lo que debe verificar es si el dispositivo al que está tratando de conectarse está en la misma subred en la que está su dispositivo.
Aquí hay un documento sobre subredes y enrutamiento.
Cita del comentario en Android del usuario destenson
Un comentario del usuario destenson el 13 de mayo de 2017 agrega esta información adicional específica de Android y los mensajes de error proporcionados en la publicación.
Dado que se trata de Android, lo primero que debe tener en cuenta son los permisos. 21/09 01: 08: 40.457: W / System.err (8536): en libcore.io.BlockGuardOs.connect (BlockGuardOs.java:85) indica que la conexión fue denegada por la política del dispositivo.
Esto parece un problema de red, no un problema de Java. Cualquiera:
- la red en el cliente no sabe cómo enrutar paquetes al servidor,
- el intento de conexión del cliente en el puerto 4449 está bloqueado por un firewall o filtro de paquetes, o
- está utilizando la dirección IP incorrecta.
(El mensaje “No hay ruta al host” sugiere que es el primer problema, pero los firewalls a veces se configuran para dar respuestas engañosas al tráfico no deseado).
De todos modos, sería mejor buscar un sitio sobre cómo configurar y / o redes y enrutamiento.
Hola, tuve el mismo problema en mi mac y ejecutaba la aplicación en un dispositivo Android. Tuve que hacer las siguientes 2 cosas para que funcionara:
- Apague el firewall en la mac
- Habilite el receptor de infrarrojos (Preferencias del sistema> Seguridad> Cortafuegos> Avanzado)
¡Y funcionó!