miércoles, 20 de octubre de 2010

Empezando con el servidor

Bueno, en este impass temporal en el que he estado en basauri el puente tambien he avanzado en algunos sentidos, como no he actualizado esto lo pondre en diferentes posts (los textos estaban escritos pero no subidos):

He hecho un servidor y un cliente funcionales en LAN en python. Funcionales en el sentido de que funcionan, aunque son bastante basicos.

Para ello he cambiado el formato de los paquetes que se enviaban para pintar (enteros que decian indices de la imagen a dibujar y donde -x,y- habia que pintarlas) a una suerte de compactacion de 9 bits que se escriben en un string byte a byte.

Ademas he creado un main para el cliente y un main para el servidor y lo mismo con el engine ya que el servidor no dibuja nada en pantalla, solo manda y el cliente no calcula nada, solo lee lo que le manda el servidor y pinta .

He utilizado 2 puertos, el 4444 para leer y el 4445 para escribir... pq 2 y no solo uno? pq lo ice rapido y sin pensar, de todos modos la idea es separarlo del codigo ya que por ahora son TCP y tal vez acaben en UDP (con lo que habria que crear un protocolo propio para tratar lo que UDP no trata y TCP si, a la sazon el control de errores y el orden, pero se obtendria la ventaja de no reenviar paquetes perdidos: lo que se pierde se deshecha y punto).

Hay un problema con el tema de que se mueva el mundo cuando la nave llega a el limite de la pantalla. Se debe a que era la clase 'ship' la que lo modificaba originariamente dependiendo de su posicion (parecia un buen sitio ya que ella era la que mantenia la informacion de su posicion y la modificaba)... Para solucionarlo pasare esa logica al cliente, de ese modo cada cliente sabra que partes de el mundo quiere mostrar y cuales no.

Hecho esto, y contento conmigo mismo, creo en el repositorio un sitio para un cliente en java (basicamente una traduccion del de python) y comienzo a dar las primeras pinceladas. Me doy cuenta de ciertas ventajas de java respecto a python: la programacion orientada a objetos es mas clara -no asi el codigo, claro-.

No hay comentarios: