Java - Sockets

 
Vista:

Sockets

Publicado por Lis (18 intervenciones) el 31/01/2007 12:17:17
Hola, he hecho un programa con sockets que cuando lo ejecuto en un ordenador solo funciona perfectamente pero ahora lo he probado en 2 ordenadores y no se comunican, os pego aqui abajo la parte de codigo que se refiere a la comunicacion a ver si alguien sabe porque no funciona:

En una parte tengo esto:

ServerSocket serv = new ServerSocket(7878);
Socket s = serv.accept();
PrintWriter Out = new PrintWriter(s.getOutputStream(),true);
Out.println("hola");

y en la otra esto:

Sockect s = new Socket("direccion IP del otro ordenador", 7878);
BufferedReader In = new BufferedReader(new InputStreamReader(s.getInputStream()));
String mensaje = In.readline();
System.out.print(mensaje);

Muchas gracias!

Un saludo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Sockets

Publicado por Tom (1831 intervenciones) el 31/01/2007 13:00:18
¿¿¿ Estás pasando un string en el constructor de Socket ???
Si pasas un string, debe ser un nombre de host, y no una dirección IP.
Si usas la dirección IP debes usar otro constructor. Por Ejemplo:

Socket(InetAddress address, int port)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Sockets

Publicado por Ana (18 intervenciones) el 31/01/2007 15:43:30
Hola,

Gracias por la respuesta, pero no se como poner la direccion IP, yo la ponia
entre comillas porque sino da error:

Socket( 157.123.123.123, 2345) <- eso da error.
Socket( "157.123.123.123", 2345) <- eso no funciona.

Gracias,

Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Sockets

Publicado por Ana (18 intervenciones) el 31/01/2007 15:48:49
Hola,

Acado de ver que si que se pone entre comillas la direccion IP:
Socket( "157.123.123.123", 2345)

Si es que es como yo lo hacia, lo que no se es porque no funciona.

Gracias,

Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Sockets

Publicado por Angel (537 intervenciones) el 31/01/2007 15:56:44
Si dices que has revisado el código y todo esta bien, quizas sea cosa de los equipos, bien que no se vean entre si, bien que algun cortafuegos este cortando al comunicación.
Deberias de comprobar ese tipo d cosa, siento no serte d mas ayuda
Un saludo y suerte.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Sockets

Publicado por Ana (18 intervenciones) el 31/01/2007 16:14:50
Hola,

Estoy mirando por si es algo de eso, pero no encuentro el problema, seguire insistiendo.

Muchas gracias por todo!

Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Sockets

Publicado por Angel (537 intervenciones) el 31/01/2007 13:00:35
En esta página tiens un ejemplo sencillo,,comprueba tu código con el de la página a ver si encuentras el fallo.

http://pisuerga.inf.ubu.es/lsi/Invest/Java/Tuto/V_2.htm

Un saludo y suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Sockets

Publicado por ana (18 intervenciones) el 31/01/2007 15:45:26
Hola,

Gracias por tu respuesta. He visto el ejemplo y todo lo hago bien porque en un ordenador solo si que me funciona. Pero cuando he querido probarlo en 2 ordenadores he cambiado donde pone "localhost" por la direccion IP del otro ordenador y es cuadno no funciona.

Gracias,

Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Sockets

Publicado por Tom (1831 intervenciones) el 31/01/2007 18:32:18
Y dale ...
Haz el favor de probar esto. Si aún no funciona, prueba a hacer un ping a la máquina destino, no sea que no tengas visibilidad.

Socket client = new Socket(InetAddress.getByName("direccion_ip_de_destino"), 7878);
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Sockets

Publicado por Lis (18 intervenciones) el 01/02/2007 12:13:46
Gracias a todos, era problema de un firewall que tenia instalado a parte del de windows. Ya me funciona.

Gracias de nuevo!

Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar