socket_recv

FunctionParams and return types changed in PHP 8.0

Receives data from a connected socket.

PHP 5
PHP 7
PHP 8.0
Improved
PHP 8.1
PHP 8.2-8.3
PHP 8.4
PHP 8.5
PHP 8.6

socket_recv Function synopsis

socket_recv(
    Socket $socket,
    &$data,
    int $length,
    int $flags
  ): int|false

Parameters

$socket

TypeSocket

The $socket must be a Socket instance previously created by socket_create.

$data

Passed by reference

The data received will be fetched to the variable specified with $data. If an error occurs, if the connection is reset, or if no data is available, $data will be set to null.

$length

Typeint

Up to $length bytes will be fetched from remote host.

$flags

Typeint

The value of $flags can be any combination of the following flags, joined with the binary OR (|) operator.

$flags accepts one or a bitmask of the following constant values:

Note that the parameter $data is passed by reference, and contains additional/updated context data that may be useful.

Return value

Typeint|false

socket_recv returns the number of bytes received, or false if there was an error. The actual error code can be retrieved by calling socket_last_error. This error code may be passed to socket_strerror to get a textual explanation of the error.

Changes to the socket_recv Function

PHP 8.0

  • Return type added: int|false
  • Parameter type added for parameter #1 ($socket): Socket
  • Parameter name of parameter #2 changed: $buf to $data
  • Parameter name of parameter #3 changed: $len to $length
  • Parameter type added for parameter #3 ($length): int
  • Parameter type added for parameter #4 ($flags): int
  socket_recv(
-     $socket,
+     Socket $socket,
-     &$buf,
+     &$data,
-     $len,
+     int $length,
-     $flags
+     int $flags
-   )
+   ): int|false

socket_recv Function Availability

PHP VersionAvailability
PHP 8.6Upcoming Release Yes
PHP 8.5Supported (Latest) Yes
PHP 8.4Supported Yes
PHP 8.3Security-Fixes Only Yes
PHP 8.2Security-Fixes Only Yes
PHP 8.1Unsupported Yes
PHP 8.0Unsupported Yes
PHP 7.4Unsupported Yes
PHP 7.3Unsupported Yes
PHP 7.2Unsupported Yes
PHP 7.1Unsupported Yes
PHP 7.0Unsupported Yes
PHP 5.6Unsupported Yes
PHP 5.5Unsupported Yes
PHP 5.4Unsupported Yes
PHP 5.3Unsupported Yes