Bienvenido(a), Visitante. Favor de ingresar o registrarse.
Enero 07, 2009, 06:36:07
Inicio Ayuda Buscar Ingresar Registrarse
Noticias: Foro de Java, C++ y más.

Nuevo foro de Base de datos.

+  Foros Java y C/Linux
|-+  Varios
| |-+  Varios
| | |-+  Ayuda porfavor¡¡¡¡
« anterior próximo »
Páginas: [1] Enviar tema Imprimir
Autor Tema: Ayuda porfavor¡¡¡¡  (Leído 369 veces)
chaparro87
Jr. Member
**
Mensajes: 66


Ver Perfil Email


« en: Octubre 12, 2007, 11:08:58 »

Tengo que hacer una aplicacion cliente servidor, que consiste en un juego en red, la mayoria del codigo java estara en el sevidor y en los clientes simplente las interfaces. La apicacion no sera un applet, osea cada jugador tendra un ejecutable, la conexion la realizare mediante sockets.
Para hacer las futuras pruebas debo emular en mi computadora el cliente y el servidor pk solo tengo una computadora. ¿Eso es factible?
Otra cuestion es que la parte del codigo que pertenece al servidor ¿donde la tengo que poner?¿necesitare instalarme Tomcat o Apache? Porfavor darme ideas pk estoy un poco perdido.
En línea
chuidiang
Administrator
Hero Member
*****
Mensajes: 2022



Ver Perfil WWW Email
« Respuesta #1 en: Octubre 12, 2007, 11:35:25 »

Hola:

Si los clientes tienen una aplicación java que no es un applet, el servidor puede ser también una aplicación java pura, sin necesidad de ningún tipo de Apache, Tomcat ni nada parecido. Simplemente en el servidor abres un socket servidor y en los clientes un socket cliente. En el enlace tienes un pequeño ejemplo básico que te puede servir como base para empezar a desarrollar.

Puedes, para tus pruebas, arrancar perfectamente ambos a la vez en el mismo ordenador. Incluso en un solo ordenador puedes arrancar un servidor y varios clientes.

Se bueno.
En línea

chaparro87
Jr. Member
**
Mensajes: 66


Ver Perfil Email
« Respuesta #2 en: Octubre 13, 2007, 12:28:07 »

Gracia chuidiang, siempre estas ahi... pero eske todavia no me queda claro una cosa , a ver: si mi ordenador hara de server y de cliente; ¿el codigo perteneciente a cada uno de ellos donde ira? quiero decir si las clases de cada uno ¿deberan de estar almacenadas en partes diferentes.?

Yo estoy codificando y tengo en el mismo proyecto de java las clases que perteneceran al servidor y las que tendran los clientes; ¿Las tengo que separar y ponerlas en varios proyectos, al tener que ir unas al servidor y otras al cliente?
En línea
chuidiang
Administrator
Hero Member
*****
Mensajes: 2022



Ver Perfil WWW Email
« Respuesta #3 en: Octubre 13, 2007, 06:45:00 »

Hola:

Puedes hacer lo que te venga mejor, siempre que lo organices bien y en función de las ganas de trabajar que tengas.

Una solución es tenerlo todo junto, en un único proyecto con un único main(). Un parámetro al arrancar indicará al main() si debe empezar a instanciar clases del cliente o del servidor. Por ejemplo

Código:
// Para que arranque como cliente, hay que pasarle la direccion IP o nombre del servidor
java -jar MiJarTodoJunto.jar direccion_del_servidor
// si no se le pasa nada, arranca como servidor.
java -jar MiJarTodoJunto.jar

Esta solución puede ser buena si el cliente y el servidor comparten mucho código y hay poco código específico de cada uno de ellos.

Otra solución es tener dos proyectos, cada uno con su main(). Uno para el cliente y otro para el servidor. Esta solución puede ser buena si el cliente y el servidor tienen código muy distinto.

La tercera solución, posiblemente la más elegante y menos chapucera, pero que como siempre, es la que da mas trabajo, consiste en tener tres proyectos. Uno de ellos no lleva main() y sólo contiene aquellas clases que son comunes para el cliente y el servidor, sería como una librería. Los otros dos proyectos sería el cliente y el servidor, cada uno con su main() y con aquellas clases que son específicas de ellos.

Por ejemplo, puede que las clases que representen cosas del juego -personajes, tablero, etc- vayan en el primer proyecto por ser comunes tanto a cliente como servidor. La interface de usuario iría sólo en el cliente. Un algoritmo para que el ordenador piense o controle el juego iría sólo en el servidor.

Esta solución es la mejor puesto que evita repetir código de las clases comunes -tanto en cliente como servidor- y luego sólo distribuyes a los clientes o al servidor exactamente lo que necesitan, sin tener que cargar con nada más.

Se bueno.
En línea

Páginas: [1] Enviar tema Imprimir 
« anterior próximo »
Ir a:  


Ingresar con nombre de usuario, contraseña y duración de la sesión

Powered by MySQL Powered by PHP Powered by SMF 1.1.5 | SMF © 2006-2007, Simple Machines LLC XHTML 1.0 válido! CSS válido!