Logo: Raúl Sampedro

Correo-electrónico raulsam@telefonica.net.

En este documento pueden verse:

Información
Breve descripción de la demo
Ejecución
Ejemplo de ejecución, e información sobre cómo ejecutar la demo
Compilación
Sobre la compilación del código fuente

 


Información
Breve descripción de la demo

Se trata de una demo de código que incluye los siguientes aspectos (no siendo los únicos):

Todo ello mediante el uso de patrones de diseño donde se ha considerado oportuno. Sirviendo de ejemplo: Singleton, Abstract Factory, Observer, MVC. Así como mediante la separación en módulos de componentes de motor (Input, Core, Video, Network, Factory).

Para llevarla a cabo, se ha partido prácticamente de cero. Haciendo uso de las siguientes librerías,

se ha construido un minimotor (con la funcionalidad necesaria para esta demo) que encapsula el uso de la librería CRM32Pro para el acceso a bajo nivel. Sobre este motor y con los complementos necesarios (functores, lectores de ficheros, etc), se han construido un servidor, un cliente y un ejecutable encargado de cerrar el servidor.

La documentación guarda sintaxis Doxygen, si bien no se ha generado dicha documentación por motivos de tamaño.

Finalmente, sólo queda aclarar (para una mejor compresión del lector), que los módulos antes expuestos corresponden cada uno a proyectos distintos, dentro de la misma solución de Visual Studio 2005. Así, el código se estructura en:


Ejecución
Ejemplo de ejecución e información sobre cómo ejecutar la demo

A continuación se muestra una ejecución realizada con dos clientes distintos. Los ficheros binarios que se encuentran en este misma entrega, están preparados para una ejecución similar.

Servidor Cliente Raúl Cliente Roberto
Screenshot Screenshot Screenshot

Para una ejecución típica, se pueden realizar los siguientes pasos:

Tras estos pasos el usuario Raúl ya ha recibido la notificación de la conexión de Roberto. Ambos usuarios pueden comunicarse mediante un chat.

Atención: Es posible lanzar más clientes, por lo que se adjunta un tercer ejecutable "Client.Marcus.bat" que puede conectarse simultánemente (chat multiusuario).

Para enviar un mensaje basta con pulsar 'enter', escribir el mensaje, y de nuevo pulsar 'enter' para enviarlo.

Atención: Aunque recomiendo no modificar los ficheros de configuración, es posible que sea necesario modificar los parámetros: server y port. "server" debe siempre apuntar a la dirección del servidor (localhost actualmente), mientras que "port" debe contener el número de puerto a utilizar (el mismo en todos los ficheros de configuración), usándose ahora el 4120.

Es posible que no funcione la conexión por motivos de cortafuegos o resolución NAT; si bien ha sido satisfactoriamente probado a través de Internet con dos ordenadores remotos.

ATENCIÓN: SI LA APLICACIÓN NO SE LANZA ES POSIBLE QUE NECESITE INSTALAR Microsoft Visual C++ 2005 Redistributable Package (x86) .


Compilación
Sobre la compilación del Código

No se ha preparado un entorno apropiado de compilación. Para ello es necesario obtener las librerías CRM32Pro y VLD, siendo la última necesaria sólo en configuración Debug.

Además, se han de definir las variables de entorno VLD_INC, VLD_LIB, CRM32_INC y CRM32_LIB, antes de abrir la solución con el Visual Studio 2005.



Si ha llegado hasta aquí, gracias por su lectura; espero que haya sido amena :)