ejercicio_threads_10-11-2018
Diferencias
Muestra las diferencias entre dos versiones de la página.
Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previa | ||
ejercicio_threads_10-11-2018 [2018/11/10 13:59] – froux | ejercicio_threads_10-11-2018 [2018/11/10 14:00] (actual) – froux | ||
---|---|---|---|
Línea 5: | Línea 5: | ||
El servidor deberá tener un array de 50 posiciones de la siguiente estructura: | El servidor deberá tener un array de 50 posiciones de la siguiente estructura: | ||
- | typedef struct { | + | typedef struct { |
- | | + | int fd; |
- | | + | pthread_t pth; |
- | | + | int estado; |
- | | + | char ID[20]; |
- | } cliente_t; | + | |
- Cada vez que un cliente se conecta, se reservará el primer lugar libre del array, guardando en el campo fd el socket conectado, en pth el puntero al nuevo thread, y el estado se colocará en 1. Cuando el cliente se desconecta, el campo estado pasa a 0. | - Cada vez que un cliente se conecta, se reservará el primer lugar libre del array, guardando en el campo fd el socket conectado, en pth el puntero al nuevo thread, y el estado se colocará en 1. Cuando el cliente se desconecta, el campo estado pasa a 0. | ||
- cuando un cliente se conecta, el servidor imprime un mensaje con el número de ID del cliente conectado. | - cuando un cliente se conecta, el servidor imprime un mensaje con el número de ID del cliente conectado. | ||
+ | |||
- existirá una variable global (int cantMensajes; | - existirá una variable global (int cantMensajes; | ||
+ | |||
- cada vez que se reciba un mensaje del cliente, se imprime el ID y el mensaje en pantalla. | - cada vez que se reciba un mensaje del cliente, se imprime el ID y el mensaje en pantalla. | ||
+ | |||
- cuando un cliente se desconecta, se imprime en pantalla un mensaje con el ID y el thread asociado se cierra. | - cuando un cliente se desconecta, se imprime en pantalla un mensaje con el ID y el thread asociado se cierra. | ||
+ | |||
- Capturar SIGINT y cerrar todos los threads y sockets antes de finalizar el programa. | - Capturar SIGINT y cerrar todos los threads y sockets antes de finalizar el programa. | ||
ejercicio_threads_10-11-2018.1541858370.txt.gz · Última modificación: 2018/11/10 13:59 por froux