Título: Aplicación con sockets no funciona en LAN (sólo con localhost) Publicado por: NathanD en 18 Noviembre 2013, 10:26 am Estoy creando una aplicación cliente-servidor lo más sencilla posible (para luego implementar más cosas), pero estoy teniendo problemas para ejecutarlo en la LAN de mi casa (ya entonces de WAN ni de hablamos, el cual es mi propósito...). Sólo funciona cuando tanto el servidor como el cliente son el mismo localhost, si no, me salta la siguiente excepción:
Código: java.net.ConnectException: Connection refused: connect Os dejo los fuentes. Cliente: Código
Servidor: Código
Gracias de antemano y saludos. Título: Re: Aplicación con sockets no funciona en LAN (sólo con localhost) Publicado por: egyware en 18 Noviembre 2013, 11:51 am Bastante extraño, y exactamente en donde te lanza esa excepción?
Te recomiendo, que te uses Telnet (si usas Windows no viene instalado por defecto debes agregarlo o si usas linux ya viene integrado). Primero abres el servidor y luego con Telnet, en una maquina ajena donde está el servidor, intentas conectarte. Si esto no funciona es probable que Java esté siendo bloqueado por algún firewall y que esté causándote problemas. Bueno has esa prueba y nos cuentas! Título: Re: Aplicación con sockets no funciona en LAN (sólo con localhost) Publicado por: NathanD en 18 Noviembre 2013, 19:12 pm Bastante extraño, y exactamente en donde te lanza esa excepción? Te recomiendo, que te uses Telnet (si usas Windows no viene instalado por defecto debes agregarlo o si usas linux ya viene integrado). Primero abres el servidor y luego con Telnet, en una maquina ajena donde está el servidor, intentas conectarte. Si esto no funciona es probable que Java esté siendo bloqueado por algún firewall y que esté causándote problemas. Bueno has esa prueba y nos cuentas! Gracias por responder. No pone la línea en la que se lanza la excepción. Usando Telnet estoy igual, sólo no establece la conexión ni en la maquina ajena del servidor ni en la propia. Me dice lo siguiente: Código: Microsoft Telnet> open 5000 He desactivado tanto el firewall como el antivirus. Ni idea de qué puede tratarse... Gracias y un saludo. Título: Re: Aplicación con sockets no funciona en LAN (sólo con localhost) Publicado por: egyware en 18 Noviembre 2013, 19:22 pm Al preguntarte donde te lanza esa excepción te preguntaba si en el cliente o en el servidor.
ahora ojo: el telnet puedes usarlo así Código: telnet ip port o Código: telnet Título: Re: Aplicación con sockets no funciona en LAN (sólo con localhost) Publicado por: NathanD en 18 Noviembre 2013, 19:38 pm La excepción me salta en el Cliente.
Ya consigo hacer el Telnet desde un ordenador distinto, que es un paso :D La cosa es por qué no funciona desde el propio programa del servidor, ¿cuál es el problema? Muchísimas gracias por tu atención. Título: Re: Aplicación con sockets no funciona en LAN (sólo con localhost) Publicado por: egyware en 18 Noviembre 2013, 20:35 pm Funciona impecable
Código
Lo estoy probando con el pc mi casa y con el de la oficina. Probablemente tengas algunos problemas con la configuración de redes con Windows (parece que si usas Windows) verifica que estés en una red Hogar o Trabajo, si estás en una publica probablemente estés muy restringido. Y bueno te digo algunas cosas para que tomes en consideración:
Dejaré el servidor abierto si es que quieres probar, (ya van 2 iteraciones de 10) Saludos! Título: Re: Aplicación con sockets no funciona en LAN (sólo con localhost) Publicado por: NathanD en 18 Noviembre 2013, 20:59 pm Vaya, qué extraño... Probaré lo de la configuración de redes de Windows, a ver. He estado alternando con Windows y Ubuntu por si el problema era de alguno de éstos, pero miraré lo que me has dicho.
Muchas gracias por tu ayuda!! Título: Re: Aplicación con sockets no funciona en LAN (sólo con localhost) Publicado por: NathanD en 19 Noviembre 2013, 11:16 am Nada, no hay manera. Haciendo el Telnet sí, pero desde la aplicación de Servidor no. He mirado las configuraciones de redes de Windows, desactivado Firewall y Antivirus, y nada. He probado hasta a hacer un .jar de cada programa y ejectuarlo desde la consola de Windows por si el problema era Eclipse, pero tampoco.
Título: Re: Aplicación con sockets no funciona en LAN (sólo con localhost) Publicado por: egyware en 19 Noviembre 2013, 11:49 am Nada, no hay manera. Haciendo el Telnet sí, pero desde la aplicación de Servidor no. He mirado las configuraciones de redes de Windows, desactivado Firewall y Antivirus, y nada. Ya no se como ayudarte, al parecer el problema va más de java. Insistiendo si es que que programaste algo mal, podrías probar esta biblioteca https://github.com/EsotericSoftware/kryonet (utiliza NIO (http://en.wikipedia.org/wiki/New_I/O)). Y si con esto no funciona definitivamente problema de tu red. Saludos! Título: Re: Aplicación con sockets no funciona en LAN (sólo con localhost) Publicado por: NathanD en 19 Noviembre 2013, 12:11 pm Ya no se como ayudarte, al parecer el problema va más de java. No te preocupes, bastante me has ayudado ya. Miraré la biblioteca que me has puesto, gracias.Insistiendo si es que que programaste algo mal, podrías probar esta biblioteca https://github.com/EsotericSoftware/kryonet (utiliza NIO (http://en.wikipedia.org/wiki/New_I/O)). Y si con esto no funciona definitivamente problema de tu red. Saludos! Luego probaré la aplicación en la universidad, a ver. De todas formas, si quisiera que la aplicación funcionara no sólo en una LAN sino en Internet (mi intención desde un principio), ¿tendría que hacer alguna modificación? Muchas gracias por tu ayuda, un saludo. Título: Re: Aplicación con sockets no funciona en LAN (sólo con localhost) Publicado por: egyware en 19 Noviembre 2013, 13:13 pm ¿tendría que hacer alguna modificación?. Si deberías desbloquear los puertos o utilizar UDP Hole Punching (http://en.wikipedia.org/wiki/UDP_hole_punching) (aún así necesitarías un puerto abierto), pero si puedes lograr que un programa funcione en LAN no tendrás problemas para que funcione en internet. Saludos! |