Socket
Librería para comunicar via TCP/IP
|
Implementación del servidor. Más...
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 | |
Server * | serv |
Instancia de la clase Server. Más... | |
Implementación del servidor.
En este fichero se implementa un servidor TCP/IP usando las clases Socket y Server.
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.
t_arg | Puntero 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).
str | Lí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.
ip | Puntero donde se almacena la IP leída |
port | Puntero 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.
signal | Pará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.
args | Puntero al struct de los argumentos del thread casteado a tipo void* |