-   
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
- <html xmlns="http://www.w3.org/1999/xhtml"> 
- <head> 
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> 
- <title>Mi servidor</title> 
- </head> 
- <body> 
- <center><h1>Mi servidor</h1></center> 
- <?php 
- //muetra todos los errores que se presenten durante la ejecucion 
- error_reporting(E_ALL); 
- //Desabilia el tiempo de espera del scrip para permitir esperar conecciones. 
- set_time_limit(0); 
- //direccion de la maquina 
- $direccion = 'localhost'; 
- //puerto de salida 
- $puerto = 10000; 
- //Crea el socket, recibe (dominio, tipo y protocolo) establecido por constates definidas por php 
- if (($socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP)) < 0)  
- { 
-    echo "socket_create() Falló: Motivo: " . socket_strerror($puerto) . "<br>"; 
- } 
- //Asocia la direccion y puerto de la maquina con el socket creado 
- if (($retorno = socket_bind($socket, $direccion, $puerto)) < 0)  
- { 
-    echo "socket_bind() Falló: Motivo: " . socket_strerror($retorno) . "<br>"; 
- } 
- //Pone el socket a escuchar solicitudes de coneccion 
- if (($retorno = socket_listen($socket, 5)) < 0)  
- { 
-    echo "socket_listen() Falló: Motivo: " . socket_strerror($retorno) . "<br>"; 
- } 
- //el socket acepta la primer solicitud del cliente 
- do 
- { 
-   if (($sock_acepted = socket_accept($socket)) < 0)  
-   { 
-      echo "socket_accept() Falló: Motivo: " . socket_strerror($sock_acepted) . "<br>"; 
-   } 
-   //una vez aceptada la conexión se lee el primer paquete que escriba el cliente 
-   $lectura = socket_read($sock_acepted, 2048); 
-   //imprime lo que el cliente dice 
-   echo "<b>Cliente dice: </b>" . $lectura . "<br>"; 
-   //Escribe al cliente una respuesta a lo que este dijo! 
-   $escritura = 'Hola cliente!!!' . ' Me mandaste a decir: '. $lectura; 
-   socket_write($sock_acepted, $escritura, 2048); 
-   //cierra el socket 
-    
-   if ($lectura=="salir") 
-   { 
-     break; 
-   } 
- }while(true); 
-   
- socket_close($socket); 
- ?> 
- </body> 
- </html> 
-   
-   
-