Hola:
"localhost" es una palabra que significa "la maquina en la que estoy corriendo". El servidor corre en el servidor, así que "lcoalhost" en el servidor ee el servidor. El applet corre en el pc del cliente que visita la pagina con el navegador, en mi caso "chuidiangPC", asi que si yo visito tu applet, en mi PC "localhost" siginfica "chuidiangPC" y no tu servidor, por eso no puedes abrir el socket.
En el applet abre el socket contra la IP pública de tu servidor. Abre el navegador en tu servidor y visita la página
http://www.whatismyip.com/ para ver cual es la IP pública si no la conoces.
Se bueno.