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