Si ejecutases este cliente desde la línea de comandos, tardarías la décima parte de tiempo en tener el tema terminado.
Cambia el
text/html por
text/plain, porque en tu programa no estás enviando ninguna salida en HTML.
Sí... es más cómodo abrir una terminal y hacer pruebas en ella, ejecutando este programa, hasta saber cómo conectarte con el servidor. Luego, pasarlo a CGI, que es lo que estás haciendo ahora, es casi trivial. Pero empezar siendo CGI... pues como que algunas cosas se pueden quedar escondidas.
Aún no has dicho nada de qué tipo de respuestas devuelve el servidor. Te he preguntado si lo que devuelve el servidor acaba en carácter de fin de línea o no, porque según lo que respondas, podrás usar <$sock> o
read($sock, ...).