Записывает в сокет

# socket_write

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

socket_write — Записывает в сокет

### Описание

function socket_write(Socket `$socket`, string `$data`, ?int `$length` = `null`): int|false

Функция socket_write() записывает в сокет `socket` данные буфера `data`.

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

`socket`

`data`

  Буфер, который требуется записать.

`length`

  Необязательный параметр `length` указывает альтернативное количество байтов, которое функция запишет в сокет. Функция без уведомления обрежет значение параметра до размера буфера `data`, если размер параметра окажется больше, чем длина данных в аргументе `data`.

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

Функция возвращает количество байтов, которое успешно записала в сокет, или `false`, если возникла ошибка. Код ошибки получают функцией socket_last_error(). Код ошибки передают в функцию socket_strerror(), чтобы получить текстовое описание ошибки.

> Замечание:

> Допускается возврат функцией socket_write() нулевого значения, когда функция не записала ни одного байта. Значение, которое вернула функция, проверяют на равенство значению `false` оператором `===`.

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

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

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

> Замечание:

> Функция socket_write() не обязана записывать каждый байт буфера `data`. Это нормально, когда функция записывает только конкретное количество байтов, или даже один байт, хотя размер буфера `data` больше. На поведение функции влияют сетевые буферы и другие настройки. Передачу остальных данных аргумента `data` выполняют в цикле.

### Смотрите также

- socket_accept() - Принимает соединение на сокете
- socket_bind() - Привязывает имя к сокету
- socket_connect() - Начинает соединение с сокетом
- socket_listen() - Прослушивает входящие соединения на сокете
- socket_read() - Считывает из сокета максимальное количество байтов
- socket_strerror() - Возвращает строку, описывающую ошибку сокета

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