]> git.llucax.com Git - z.facultad/75.42/plaqui.git/blobdiff - Server/include/plaqui/server/documentacion.h
Se arregla el bug que hacia que el cliente levante mal archivos XML grandes.
[z.facultad/75.42/plaqui.git] / Server / include / plaqui / server / documentacion.h
index 87ae0dbd4432bf60bcab8d97d672f9d22a783c34..ea3c53e5dcb0009111bfd86c513ad401c0ca6973 100644 (file)
@@ -57,7 +57,6 @@
                Este módulo está implementado por las clases PlaQui::Server::Transmitter y
                PlaQui::Server::Receiver.
 
                Este módulo está implementado por las clases PlaQui::Server::Transmitter y
                PlaQui::Server::Receiver.
 
-
 \section page_server_protocolo Comandos del Módulo de Control.
        Todos los comandos son rutas de archivos. En un principio no se van a utilizar
        los <em>query string</em> de los datos pasados por GET ni datos adicionales
 \section page_server_protocolo Comandos del Módulo de Control.
        Todos los comandos son rutas de archivos. En un principio no se van a utilizar
        los <em>query string</em> de los datos pasados por GET ni datos adicionales
        caso de la obtención de una planta tiene el mismo formato que el utilizado por el
        Constructor.
 
        caso de la obtención de una planta tiene el mismo formato que el utilizado por el
        Constructor.
 
-\section page_server_uso Modo de uso.
-       \subsection page_server_uso_inicio Inicio del servidor
-               Para iniciar el servidor es necesario disponer de un archivo XML de
-               planta (por ejemplo, generado por el Constructor).
-
-               Invocación del servidor:
-               \verbatim ./plaqui-server [archivo] [puerto] \endverbatim
-
-               Ambos argumentos son opcionales. El primero, <tt>[archivo]</tt>, es la
-               ubicación del archivo con la descripción de la planta a simular (por omisión
-               <tt>planta.xml</tt>). El segundo, <tt>[puerto]</tt>, es el puerto en el cual
-               se van a atender las peticiones al servidor (por omisión 7522).
-
-       \subsection page_server_uso_estado Estado del servidor.
-               Mientras el servidor se ejecuta, va imprimiendo en la salida estándar su
-               estado. Se imprime cada vez que llega una conexión entrante y cada vez que
-               se detecta un error.
-
-               Otro tipo de información del estado del servidor puede ser obtenida desde
-               el cliente a través del comando <tt>/server/info</tt> (ver
-               \ref page_server_protocolo_general).
-
-               \note Los errores se imprimen en la salida de error, no en la salida
-                     estándar.
-
-       \subsection page_server_uso_fin Finalización del servidor.
-               Hay varias formas de finalizar el servidor:
-               - Enviando una señal de interrupción (<tt>SIGINT</tt>), por ejemplo,
-                 presionando la combinación de teclas <tt>CTRL-C</tt>.
-               - Enviando una señal de salida (<tt>SIGQUIT</tt>) o de terminación
-                 (<tt>SIGTERM</tt>), por ejemplo, a través del comando
-                 <tt>kill(1)</tt>.
-               - Enviando un comando <tt>/server/stop</tt> desde un cliente (ver
-                 \ref page_server_protocolo_general).
-
-               Cualquiera de estos métodos es válido y finaliza el servidor de forma
-               correcta.
+\section page_server_implementacion Destalles de la implementación.
+       El servidor se basa en un la clase PlaQui::Server::Runnable que se utiliza para
+       encapsular un hilo de ejecución. De ella derivan todas las demás clases
+       importantes del servidor: PlaQui::Server::TCPServer y PlaQui::Server::Connection.
+       De esta última derivan todas las posibles conexiónes que hay para la comunicación
+       entre el servidor y el cliente: PlaQui::Server::ControlClient,
+       PlaQui::Server::ControlServer, PlaQui::Server::Receiver y
+       PlaQui::Server::Transmitter. Las dos primeras son utilizadas para la conexión
+       de control y las dos segundas para la transmisión del estado de la planta por
+       UDP.
+
+       El protocolo HTTP se encapsula en la clases PlaQui::Sever::HTTPMessage y de ella
+       derivan PlaQui::Sever::HTTPRequest (petición HTTP) y PlaQui::Sever::HTTPResponse
+       (respuesta HTTP). Hay otras clases auxiliares como PlaQui::Sever::HTTPError que
+       encapsula un error HTTP.
+
+       Finalmente, para abstraerse del protocolo HTTP que se usa de transporte, se
+       implementan dos clases: PlaQui::Sever::Command y PlaQui::Sever::Response que
+       representan un comando y una respuestas específicos del servidor PlaQui.
+
+       A continuación se incluye un diagrama de clases para tener una visión más general
+       de las clases más importantes utiilzadas en el servidor:
+               \image html cliente_servidor.png
+               \image latex cliente_servidor.eps "Diagrama de clases." width=14cm
 
 */
 
 
 */