juego en red

Peyo
31 de Julio del 2005
Hola!! tengo q hacer un juego en red (el juego en realidad es indiferente), pero la cosa esta en q los dos programas tienen q tener el mismo codigo (no puede uno ser cliente y otro servidor) asi q no tengo ni la mas remota idea de como hacerlo. Si alguien tiene alguien parecido o me puede orientarme se lo agradeceria, porq esa sonrisilla complice entre los profesores y la recomendacion de me envaseline bien si no lo hago, me da muy mala espina!

Peyo
31 de Julio del 2005
Vamos! Seguro q alguien me puede echar una mano, animaos!

chuidiang
31 de Julio del 2005
Hola:

Puedes hacerlo con sockets udp.

En los sockets udp no se establece la conexión (no hay cliente ni servidor). Ambos se ponen a la escucha de un puerto y sin establecer conexión reciben mensajes por él.

La única diferencia entre "cliente" y "servidor" es que el cliente debe saber dónde está el otro y enviar el primer mensaje. Luego el resto consiste en recoger mensaje (viene la direccion ip del remitente en el mensaje) y responder. En ambos lados lo mismo.

Esta "diferencia" puedes resolverla pasándole al arrancar a uno de ellos la ip del otro, mientras que al otro no le pasas nada. El código mira si recibe una ip. Si es así manda el primer mensaje. Si no la recibe, simplemente se queda a la espera.

Tienes algo más de sockets udp en http://www.geocities.com/chuidiang/sockets/udp/udp.html, pero está en C++. Supongo que te puede servir para obtener los conceptos.

Se bueno.

IdiTrix
31 de Julio del 2005
Hola!! si puedes hacerlo con cliente - servidor ... yo alguna vez hice un messenger para lan en donde es el mismo codigo para cada programa... no lo tengo disponible porke tuve problemas con mi makina ... pero te aseguro que si se puede, tienes que hacer la aplicacion con Thread en donde el te permita ser servidor y cliente al mismo tiempo ... puesto ke tu vas a enviar y a recibir conecciones .. y el otro pc tb enviara y recibira conecciones... asi el mismo programa debe ser cliente y servidor a la vez ... entonce el mismo programa lo puedes poner en la red y debe funcionar