Inicio PHP JavaScript Manual PHP Links de interes Contacto
Scripts en PHP Programación PHP, lenguaje del lado del servidor.
Scripts PHP - Funciones Funciones  Scripts PHP - Ip´s Ip´s  Scripts PHP - Otros Otros  
Scripts en JavaScript Programación JavaScript, lenguaje del lado del cliente.
Scripts JS - Barra de estado Barra de estado  Scripts JS - Calculadoras Calculadoras  Scripts JS - Efectos Efectos  Scripts JS - Relojes/Calendarios Relojes/Calendarios  
  Manual PHP     Manual PHP  
function.stream-socket-server -- http://www.mundoscript.com/php/function.stream-socket-server.html stream_socket_server

stream_socket_server

(PHP 5)

stream_socket_server --  Crear un socket de servidor de dominio de Internet o Unix

Descripción

resource stream_socket_server ( string socket_local [, int &errno [, string &errstr [, int banderas [, resource contexto]]]])

Crea un socket secuenciado o tipo datagrama en el socket_local especificado. El tipo de socket creado es determinado por el transporte especificado usando el formato de URL estándar: transporte://destino. Para sockets de Dominio de Internet (AF_INET) tales como TCP y UDP, la porción destino del parámetro socket_remoto debe consistir de un nombre de host o dirección IP, seguido de un signo de dos puntos y un número de puerto. Para sockets de dominio Unix, la porción destino debe apuntar al archivo de socket en el sistema de archivos. banderas es un campo de máscara de bits que puede definirse como una combinación de banderas de creación de sockets. El valor predeterminado de banderas es STREAM_SERVER_BIND | STREAM_SERVER_LISTEN.

Esta función solo crea un socket, para empezar a aceptar conexiones use stream_socket_accept().

Si la llamada falla, devolverá FALSE y si los argumentos opcionales errno y errstr están presentes, éstos serán definidos de forma tal que indiquen el error de nivel de sistema actual que ha ocurrido en los llamados de sistema socket(), bind(), y listen(). Si el valor devuelto en errno es 0 y la función ha devuelto FALSE, es un indicio de que el error ocurrió antes del llamado a bind(). Esto, por lo general, es debido a un problema en la inicialización del socket. Note que los argumentos errno y errstr siempre serán pasados por referencia.

Dependiendo del entorno, los sockets de dominio Unix pueden no estar disponibles. Una lista de transportes disponibles puede ser recuperada usando stream_get_transports(). Vea Apéndice N para consultar una lista de transportes integrados.

Ejemplo 1. Ejemplo de stream_socket_server()

<?php
$socket
= stream_socket_server("tcp://0.0.0.0:8000", $errno, $errstr);
if (!
$socket) {
  echo
"$errstr ($errno)<br />\n";
} else {
  while (
$con = stream_socket_accept($socket)) {
    
fwrite($con, 'La hora local es ' . date('n/j/Y g:i a') . "\n");
    
fclose($con);
  }
  
fclose($socket);
}
?>

El siguiente ejemplo muestra como actuar como servidor de hora, el cual puede responder a consultas sobre la hora actual, tal y como se muestra en un ejemplo ubicado en la página sobre stream_socket_client().

Nota: La mayoría de sistemas requieren acceso de root para crear un socket de servidor en un puerto menor a 1024.

Ejemplo 2. Uso de sockets de servidor UDP

<?php
$socket
= stream_socket_server("udp://0.0.0.0:13", $errno, $errstr, STREAM_SERVER_BIND);
if (!
$socket) {
    echo
"ERROR: $errno - $errstr<br />\n";
} else {
  while (
$con = stream_socket_accept($socket)) {
    
fwrite($con, date("D M j H:i:s Y\r\n"));
    
fclose($con);
  }
  
fclose($socket);
}
?>

Nota: Cuando se especifique una dirección numérica IPv6 (p.ej. fe80::1) se debe incluir la IP entre corchetes. Por ejemplo tcp://[fe80::1]:80.

Vea también stream_socket_client(), stream_set_blocking(), stream_set_timeout(), fgets(), fgetss(), fwrite(), fclose(), feof(), y la extensión Curl.

Web´s ORO

Comparativas

peliculas - musica - trucos
telefonos moviles
directorio de programacion
Web´s PLATA

logiciel gratuit
programas para bajar
ocio y entretenimiento
eliminar virus