Socket
Librería para comunicar via TCP/IP
 Todo Clases Archivos Funciones Variables 'defines' Páginas
Funciones | Variables
Referencia del Archivo main_server.cpp

Implementación del servidor. Más...

#include "server.h"
#include <sys/types.h>
#include <unistd.h>
#include <sstream>

Funciones

void killThread (thread_args *t_arg)
 Método de finalización de Threads. Más...
 
void * WorkerThread (void *args)
 Método gestión de conexiones. Más...
 
void stopServer (int signal)
 Método de detención del servidor. Más...
 
void processText (string *str)
 Método auxiliar de procesado de texto. Más...
 
bool readConf (string *ip, int *port)
 Método de lectura de configuración. Más...
 
int main ()
 Método principal del servidor. Más...
 

Variables

Serverserv
 Instancia de la clase Server. Más...
 

Descripción detallada

Implementación del servidor.

Autor
Imanol Barba Sabariego
Fecha
13/06/2013

En este fichero se implementa un servidor TCP/IP usando las clases Socket y Server.

Documentación de las funciones

void killThread ( thread_args t_arg)

Método de finalización de Threads.

Éste método se ejecuta para liberar la memoria de los argumentos del thread y mandarlo a la pila de threads terminados.

Parámetros
t_argPuntero al struct que contiene los argumentos del thread
int main ( )

Método principal del servidor.

Lee la configuración usando readConf() y incializa el servidor.

void processText ( string *  str)

Método auxiliar de procesado de texto.

Éste método usa para procesar las entradas de texto del fichero de configuración para adaptarlas a un formato adecuado.

De momento se limita a eliminar whitespace (tabulaciones, saltos de línea y espacios).

Parámetros
strLínea de texto a procesar
bool readConf ( string *  ip,
int *  port 
)

Método de lectura de configuración.

Éste método lee el fichero de configuración espeficado para obtener parámetros de configuración para el funcionamiento del servidor.

Parámetros
ipPuntero donde se almacena la IP leída
portPuntero donde se almacena el puerto leído
void stopServer ( int  signal)

Método de detención del servidor.

Este método detiene el servidor al recibir el signal SIGINT del SO.

Parámetros
signalParámetro que captura el signal recibido
void* WorkerThread ( void *  args)

Método gestión de conexiones.

Éste método es el que los threads ejecutan al crearse, aquí es donde se define el comportamiento del servidor, ya que cada conexión se gestionará como aquí se detalla.

Por defecto, el comportamiento que lleva programado es el de un servidor "echo", esperará que el cliente le envíe un mensaje y responderá con el mismo mensaje.

Parámetros
argsPuntero al struct de los argumentos del thread casteado a tipo void*

Documentación de las variables

Server* serv

Instancia de la clase Server.

Esta variable contiene la instancia de la clase Server que aquí se usa e inicializa.

Se trata de una variable global para poder así usarla en las funciones que reciban signals del SO.