Jesus · Bible · HTML · CSS · JS · PHP · SVG · Applications

stream_socket_recvfrom

Description

The stream_socket_recvfrom of Stream for PHP receives data from a socket, connected or not.

Syntax

stream_socket_recvfrom(
    resource $socket,
    int $length,
    int $flags = 0,
    ?string &$address = null
): string|false

Parameters

socket

The remote socket.

length

The number of bytes to receive from the socket.

flags

The value of flags can be any combination of the following:

ConstantDescription
STREAM_OOBProcess OOB (out-of-band) data.
STREAM_PEEKRetrieve data from the socket, but do not consume the buffer. Subsequent calls to fread() or stream_socket_recvfrom() will see the same data.

address

If address is provided it will be populated with the address of the remote socket.

Return

Returns the read data, as a string, or false on failure.

Examples

1 · socket length

<?

$transport = "tcp";
$host = "127.0.0.1";
$port = "1234";

$local_socket = $transport . "://" . $host . ":" . $port;

$server = stream_socket_server($local_socket);

    $socket = stream_socket_accept($server);

        $length = 1500;

        $return = stream_socket_recvfrom($socket, $length);

        echo $return;

    fclose($socket);

fclose($server);

?>

2 · flags · STREAM_OOB

<?

$transport = "tcp";
$host = "127.0.0.1";
$port = "1234";

$local_socket = $transport . "://" . $host . ":" . $port;

$server = stream_socket_server($local_socket);

    $socket = stream_socket_accept($server);

        $length = 1500;
        $flags = STREAM_OOB;

        $return = stream_socket_recvfrom($socket, $length, $flags);

        echo $return;

    fclose($socket);

fclose($server);

?>

3 · flags · STREAM_PEEK

<?

$transport = "tcp";
$host = "127.0.0.1";
$port = "1234";

$local_socket = $transport . "://" . $host . ":" . $port;

$server = stream_socket_server($local_socket);

    $socket = stream_socket_accept($server);

        $length = 1500;
        $flags = STREAM_PEEK;

        $return = stream_socket_recvfrom($socket, $length, $flags);

        echo $return;

    fclose($socket);

fclose($server);

?>

4 · address

<?

$transport = "tcp";
$host = "127.0.0.1";
$port = "1234";

$local_socket = $transport . "://" . $host . ":" . $port;

$server = stream_socket_server($local_socket);

    $socket = stream_socket_accept($server);

        $length = 1500;
        $flags = STREAM_PEEK;

        $return = stream_socket_recvfrom($socket, $length, $flags, $address);

        echo $return . PHP_EOL;
        echo $address;

    fclose($socket);

fclose($server);

?>
HomeMenu