stream_socket_pair
stream_socket_sendto
Stream Functions
PHP Manual

# stream_socket_recvfrom

(PHP 5)

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:

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.

Example #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);
?>`

> Note: Si un mensaje recibido tiene una longitud mayor que el parámetro `longitud` , los bytes sobrantes pueden ser descartados dependiendo del tipo de socket del mensaje recibido (como UDP).

> Note: Llamadas a stream_socket_recvfrom() sobre secuencias basadas en sockets, después de llamadas a funciones de secuencias basadas en búferes (como fread() o stream_get_line()) leen los datos directamente desde el socket y dejan de lado el búfer de la secuencia.

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

stream_socket_pair
stream_socket_sendto
Stream Functions
PHP Manual