Servidor de nombres Problema 1: Servidor de nombres Termine el servidor de nombres anterior. Escriba un programa que actúe de servidor de nombres en el que se registren los servidores de simpletw que ha escrito antes, que tendrán ahora un parámetro extra con la dirección del servidor de nombres: simpletw -s nameserveraddr El servidor de nombres, cada vez que recibe una conexión en el puerto de tcp 3535, debe leer una cadena con una dirección y un nombre separados por ’:’ y terminada en ’;’ y registrarla en una estructura de datos. Cuando se corte la conexión, las borrará de la estructura de datos. Si recibe una conexión en el puerto 3536 de tcp debe leer una cadena acabada ’;’ con el nombre y escribir la dirección asociada de vuelta, tambien acabada en ’;’ El servidor de simpletw al arrancar debe registrar su nombre en el servidor y mantener la conexión abierta hasta terminar su ejecución. Los clientes de simpletw reciben ahora como parámetro la dirección del servidor de nombres en lugar de la del servidor de simpletw y un nombre de servidor: simpletw -c nameaddr servername clientid tweet msg|timeline [tweet msg|timeline ...] Antes de realizar ninguna operación, tienen que resolver el nombre. Para ello el cliente se conecta al servidor de nombres (al puerto 3536) y escribe el nombre del servidor de simpletw acabado en ’;’. A continuación lee otra cadena acabada en ’;’ con la dirección del servidor de simpletw y se conecta a él como hacían antes.