Desarrollo de servidor concurrente usando Threads
1.- A partir del servidor TCP simple cree el archivo de funciones utilitarias para programar servidor TCP (tcp_util.c) que incluye en primera instancia la rutina
int createTCPserverSocket(int port)
ésta retorna un socket que puede aceptar conexiones en puerto port y provenientes desde cualquier interfaz.
2.- Modifique el programa servidor TCP simple para que invoque a esta biblioteca para crear su socket de bienvenida. Para probar su servidor utilice
$ telnet localhost port
3.- En su archivo tcp_util.c cree la función void *
TCPRelay(void * arg). Esta función recibe un arreglo de dos
descriptores y hace uso del llamado a select para transferir en ambos
sentidos los datos que lleguen a ambos descriptores.
4.- Modifique su servidor TCP previo para que cree dos socket de
bienvenida. Ante cuando dos clientes hayan llegado, éste crea la hebra
TCPRelay para conectar a ambos clientes y espera por el término de la
hebra. Para probar su nuevo servidor de retransmisión usando dos
consolas ejecutes dos instancias de telnet cada una dirigida a cada uno
de los dos puertos de escucha.