Возвращает последнюю ошибку сокета

# socket_last_error

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

socket_last_error — Возвращает последнюю ошибку сокета

### Описание

function socket_last_error(?Socket `$socket` = `null`): int

Функция возвращает последнюю ошибку, которая возникла в конкретном сокете, если в функцию передали экземпляр класса Socket. Функция вернёт код ошибки последней неудачной функции сокета, если для параметра `socket` указали значение `null`. Последнее особенно полезно для функций наподобие socket_create(), которые не возвращают сокет, если возникла ошибка, или socket_select(), которые иногда завершаются неудачно по причинам, которые не связаны непосредственно с конкретным сокетом. Код ошибки передают в функцию socket_strerror(), чтобы получить строку с описанием кода ошибки.

Функция вернёт `0`, если ошибки не возникали или их очистили функцией socket_clear_error().

### Список параметров

`socket`

  Экземпляр класса Socket, который создала функция socket_create().

### Возвращаемые значения

Функция возвращает код ошибки сокета.

### Список изменений

Версия | Описание
--- | ---
8.0.0 | Параметр `socket` теперь принимает объект Socket; раньше принимался тип resource.
8.0.0 | Параметр `socket` теперь принимает значение null.

### Примеры

Пример #1 Пример возврата последней ошибки сокета функцией socket_last_error()

    <?php

    $socket = @socket_create(AF_INET, SOCK_STREAM, SOL_TCP);

    if ($socket === false) {
        $errorcode = socket_last_error();
        $errormsg = socket_strerror($errorcode);

        die("Не могу создать сокет: [$errorcode] $errormsg");
    }

    ?>

### Примечания

> Замечание:

> Функция socket_last_error() не очищает код ошибки, для этой цели вызывают функцию socket_clear_error().

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open