reckba .. Un "Socket" es una conexión .. osese .. abres X puerto y "hablas" con el servicio que conectes via el protocoolo que use el servidor que conectes .. "Hablar" es enviarle "COMANDOS" y parámetos en el lenguaje que entienda .. y "Escuchar" lo que te envie .. El proceso que hagas tu al "escuchar" algo es problema tuyo de interpretarlo .. PHP solo te pone a tu disposición las funciones par abrir ese "socket" leer/escribir en el ... (lo que va y viene (paquetes) no es cosa de PHP ..)
Ejemplo .. Via sockets podrias conectar al puerto 21 de tu "UNIX" y usar los comandos del protocoolo del FTP para hacer lo MISMO que haces o mejor dicho "te pone facil" PHP con sus funciones ftp_xxxx() ..
Por eso te insisto una y otra vez que el problema principal NO es PHP .. sino que protocoolo es el que debes usar o el que es el idoneo para lo que pretendes hacer. Y eso te lo pueden resolver mejor en el foro "Sistemas Operativos" o estudiando algo de TCP/IP ..
Imagina que te dicen .. "Tienes que usar el puerto no secuantos y enviarle esta cadena "COMANDO_NOSE COPIA ESTO EN TAL SITIO" .. Con esos datos .. te vas a las funciones de fsokopen() y afines y estableces la conexión (el "socket" ..) Por si PHP no soportase nativamente ese protocoolo como por ejemplo si lo hace con el FTP ...
Para ayudarte con la gestión de socketes .. tienes las librerias cURL:
http://www.php.net/manual/en/ref.curl.php
Esto solo soporta conexiones HTTP y FTP (igual que las funciones de ftp_xxx de PHP ..)
Un saludo,