Problema con aplicacion Cliente-Servidor

Started by Phoenix, January 18, 2010, 06:52:18 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Phoenix

Quote from: Windgate on January 20, 2010, 11:18:30 PM
¿Todo bien con la librería de Sandman? Interesante, quizás vaya siendo hora de desenterrar mi proyecto y enseñaros los problemas que tenía, como os digo al final me quedé sin saber si el error se debía al protocolo que estaba usando... Por supuesto eran muy pocas líneas de código, soy un trolazo y siempre intento tener procesos/funciones que caben en pantalla :P

De momento si va bien. El programa que tengo entre manos es algo sencillo, los usuarios acceden al servidor con su clave y contraseña y una vez conectados pueden pedir distinta informacion dentro de la base de datos del servidor o añadir nuevos registros tales como mensajes a otros usuarios, etc... Añadi 2-3 acciones con el server y responde bien... lo unico que no me pasaba con fsock, es que el cliente cuando manda la info de la accion que quiere hacer, tiene que esperar en un bucle hasta que el servidor atiende su peticion( con fsock era bastante mas rapido, pero no funcionaba con mas de un cliente conectado).

Si necesitas que le eche un vistazo a lo que llevas hecho en el proyecto de red, ponlo por aqui y mirare a ver si te puedo ayudar en algo(aunque no lo se, tampoco es que sea un mega-experto en estas cosas xD).


Phoenix

Pues finalmente decidido totalmente por hacer la aplicacion con la libreria de Sandman.

Subo un sencillo ejemplo de conexiones entre el servidor y los clientes. El cliente manda un nombre de usuario y password y el servidor le responde si esta dentro de la base de datos. Una vez conectado el cliente podra saludar al servidor.

Para que funcione, no olvidar abrir el puerto 1322 en la maquina que ejecute el servidor.

Link:

http://www.mediafire.com/?ytmtyynmz5z




Windgate

Probado y funciona perfecto, me ha soportado 3 clientes xD

Veo que la idea de la aplicación es sencilla, ¿Te has planteado hacer algún tipo de sincronización gráfica?, ese es el problema que no conseguí resolver en su momento, que los clientes tengan un gráfico y puedan moverse y verse correctamente...

Seguiré el hilo, si te planteas hacer algo así cuenta conmigo.
Iván García Subero. Programador, profesor de informática, monitor de actividades culturales y presidente de TRINIT Asociación de Informáticos de Zaragoza. http://trinit.es

Phoenix

Quote from: Windgate on January 23, 2010, 08:59:59 PM
Probado y funciona perfecto, me ha soportado 3 clientes xD

Veo que la idea de la aplicación es sencilla, ¿Te has planteado hacer algún tipo de sincronización gráfica?, ese es el problema que no conseguí resolver en su momento, que los clientes tengan un gráfico y puedan moverse y verse correctamente...

Seguiré el hilo, si te planteas hacer algo así cuenta conmigo.

Pues estoy con ello. Empece a programar el clasico "Pong" online. El juego tiene un servidor que espera que se conecten 2 jugadores, una vez conectados, inicia los 2 procesos que van a controlar la comunicacion entre el servidor y los 2 jugadores, con lo que toda la informacion que manden los jugadores pasaran por el server y el server se encarga de mandar a los jugadores. Los movimientos de las 2 raquetas estan bastante bien sincronizadas, el problema viene con la pelotita... no se si sera por el tema de los angulos(que se me dan fatal) pero no consigo que reboten cuando tienen que hacerlo xD.

Lo subo por aqui y le echas un vistazo.

Recuerda que tienes que ejecutar 1 servidor y conectar los 2 clientes, luego espera 1 segundo(o poco mas) y se inicia el juego sincronizado.

Link : http://www.mediafire.com/?oy5ni2xjhz4


Windgate

Descargando y probando, te contaré, la sincronización es peluda... Quizás te quieras pasar por el hilo (En inglés) del módulo, en él estuve hablando con Sandman, aunque lo dejamos parando hace unas semanas, algo podrías aportar seguro.
Iván García Subero. Programador, profesor de informática, monitor de actividades culturales y presidente de TRINIT Asociación de Informáticos de Zaragoza. http://trinit.es

Phoenix

Quote from: Windgate on January 25, 2010, 09:22:14 PM
Descargando y probando, te contaré, la sincronización es peluda... Quizás te quieras pasar por el hilo (En inglés) del módulo, en él estuve hablando con Sandman, aunque lo dejamos parando hace unas semanas, algo podrías aportar seguro.

Ok! ya arregle el problema de los de los angulos.. de momento solo van en linea recta pero bueno... mañana mirare a ver como arreglar el asunto. Tuve que cambiar unas cuantas cosas y compartir alguna informacion mas sobre la posicion de la bola para que no se des-sincronize demasiado cuando se mueve.

Windgate

Harías un gran favor si vas subiendo versiones, más que nada por ir viendo el proceso de desarrollo y no encotrarnos con grandes cambios, que eso luego tira para atrás y da asco tener que mirarse todo el código de golpe :P
Iván García Subero. Programador, profesor de informática, monitor de actividades culturales y presidente de TRINIT Asociación de Informáticos de Zaragoza. http://trinit.es

Phoenix

Ok, aki la tienes: http://www.mediafire.com/?mulnmtaqmmm

Cambie el tamaño de la pelotita por que la otra era... pff xD

Phoenix

Ultima version http://www.mediafire.com/?hmk3yzmyttw

+ Angulos corregidos (queda por retocarlos... pero mi geometria no da para mucho mas).
+ Añadido Game loop en el cliente y el servidor para que no se termine la partida cuando se hace un punto.

- De vez en cuando se quedan bloqueados, esperando el reinicio del partido cuando se hace algun punto.


l1nk3rn3l


Windgate

Bien, siento no haberme metido en este hilo todo lo que me hubiese gustado... Voy a "intentar" hacer uso de tu proyecto como plantilla de partida para un proyecto en 3D lo más sencillo posible, como tu juego del palito y la bolita pero en 3D y sin bolita, para que me entiendas xD

A ver si puedo subir algo digno durante esta tarde...

EDIT: No encuentro los archivos en MediaFire... ¿Te los han borrado o has sido tú?, no tengas miedo de guardar antiguas versiones, es buen hosting gratuito, en 2 años de uso nunca he perdido nada :P y bueno, sube la última versión cuando tengas un tiempo :D
Iván García Subero. Programador, profesor de informática, monitor de actividades culturales y presidente de TRINIT Asociación de Informáticos de Zaragoza. http://trinit.es

Phoenix

Mmm! yo no borre nada de las versiones que subi  :-[

Te subo la ultima que hice... No me acuerdo de como lo quede por que hace una semanita que no lo toco, pero siempre hay algun problema con los frames, hay un cliente(el primero que se conecta) que va minimamente algo mas adelantado que el otro, con lo que si tuvieramos 20 clientes conectados probablemente seria una locura, ya que el cliente que se conecto primero recibiria la informacion mucho antes que el que se conecto el ultimo.

link: http://www.mediafire.com/?zy2ok5zzgmn