socket_write

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

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

Описание

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() - Возвращает строку, описывающую ошибку сокета