Es un poco extenso el tema...En principios necesitas saber que un sokets es un concepto abstracto por el cual dos programas (en tu pedido en la misma maquina), intercambian datos, con cierto protocolo.
Por ende, tenemos tres datos, IP (o dns), Protocolo y puerto y reglas:
Cita: Para que dos programas puedan comunicarse entre sí es necesario que se cumplan ciertos requisitos:
- Que un programa sea capaz de localizar al otro.
- Que ambos programas sean capaces de intercambiarse cualquier secuencia de octetos, es decir, datos relevantes a su finalidad.
Para ello son necesarios los tres recursos que originan el concepto de
socket:
- Un protocolo de comunicaciones, que permite el intercambio de octetos.
- Una dirección del Protocolo de Red (Dirección IP, si se utiliza el Protocolo TCP/IP), que identifica una computadora.
- Un número de puerto, que identifica a un programa dentro de una computadora.
Los
sockets permiten implementar una
arquitectura cliente-servidor. La comunicación ha de ser iniciada por uno de los programas que se denomina programa
cliente. El segundo programa espera a que otro inicie la comunicación, por este motivo se denomina programa
servidor.
Un socket es un fichero existente en la máquina cliente y en la máquina servidora, que sirve en última instancia para que el programa servidor y el cliente lean y escriban la información. Esta información será la transmitida por la diferentes capas de red.
Realmente me doy cuenta que voy un poco fuera de php.
Yo lo he usado para conectarme a ftp, pop y smtp, y hay miles de códigos dando vuelta, viste ya por ejemplo
http://ar.php.net/manual/es/function.fsockopen.php ?