stream_socket_recvfrom

(no version information, might be only in CVS)

stream_socket_recvfrom -- Recibe datos desde un socket, conectado o no

Descripción

string stream_socket_recvfrom ( resource socket, int longitud [, int banderas [, string &direccion]])

La función stream_socket_recvfrom() acepta datos desde un socket remoto, hasta una cantidad de longitud bytes. Si se provee una direccion, ésta será definida con la dirección del socket remoto.

El valor de banderas puede ser cualquier combinación de los siguientes:

Tabla 1. valores posibles para banderas

STREAM_OOB Procesa datos OOB (out-of-band).
STREAM_PEEK Recuperar datos desde el socket, pero no consumir el búfer. Llamadas subsiguientes a fread() o stream_socket_recvfrom() verán los mismos datos.

Ejemplo 1. Ejemplo de stream_socket_recvfrom()

<?php
/* Abrir un socket de servidor en el puerto 1234 en localhost */
$servidor = stream_socket_server('tcp://127.0.0.1:1234');

/* Aceptar una conexion */
$socket = stream_socket_accept($servidor);

/* Tomar un paquete (1500 es un tamanyo tipico) de datos OOB */
echo "Recibidos Out-Of-Band: '" . stream_socket_recvfrom($socket, 1500, STREAM_OOB) . "'\n";

/* Echar un vistazo a los datos en banda normales, pero no consumirlos. */
echo "Datos: '" . stream_socket_recvfrom($socket, 1500, STREAM_PEEK) . "'\n";

/* Recibir exactamente el mismo paquete de nuevo, pero eliminarlo del
* bufer esta vez. */
echo "Datos: '" . stream_socket_recvfrom($socket, 1500) . "'\n";

/* Cerrarlo */
fclose($socket);
fclose($servidor);
?>

Vea también stream_socket_sendto(), stream_socket_client(), y stream_socket_server().