stream_socket_recvfrom
(PHP 5)
stream_socket_recvfrom — Receives data from a socket, connected or not
Description
string stream_socket_recvfrom
( resource $socket
, int $length
[, int $flags
[, string &$address
]] )
The value of flags
can be any combination
of the following:
possible values for flags
| STREAM_OOB |
Process OOB (out-of-band) data.
|
| STREAM_PEEK |
Retrieve data from the socket, but do not consume the buffer.
Subsequent calls to fread() or
stream_socket_recvfrom() will see
the same data.
|
Example #1 stream_socket_recvfrom() Example
<?php
$server = stream_socket_server('tcp://127.0.0.1:1234');
$socket = stream_socket_accept($server);
echo "Received Out-Of-Band: '" . stream_socket_recvfrom($socket, 1500, STREAM_OOB) . "'\n";
echo "Data: '" . stream_socket_recvfrom($socket, 1500, STREAM_PEEK) . "'\n";
echo "Data: '" . stream_socket_recvfrom($socket, 1500) . "'\n";
fclose($socket);
fclose($server);
?>
Note:
If a message received is longer than the length
parameter, excess bytes may be discarded depending on the type of socket
the message is received from (such as UDP).
Note:
Calls to stream_socket_recvfrom() on socket-based
streams, after calls to buffer-based stream functions (like
fread() or stream_get_line()) read
data directly from the socket and bypass the stream buffer.
See also
stream_socket_sendto(),
stream_socket_client(), and
stream_socket_server().