No es complicado. Pero ten en cuenta que deberás realizar programas que estén constantemente "escuchando" en un puerto, ante una eventual llamada de un cliente.
Para recibir datos desde PHP lo que puedes hacer es aprovechar las llamadas que haces para recibir los datos, pero si lo que quieres es que sea en cualquier momento deberás realizar también un servicio de escucha en el lado PHP.
En la documentación tienes ejemplos de como crear los servicios y los clientes.
http://es2.php.net/manual/es/ref.sockets.php
Un sludo:
Juan R.