socket_read

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

socket_readСчитывает из сокета максимальное количество байтов

Описание

socket_read(Socket $socket, int $length, int $mode = PHP_BINARY_READ): string|false

Функция socket_read() считывает данные из сокета, который указали в параметре socket экземпляром класса Socket, который создали функциями socket_create() или socket_accept().

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

socket

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

length

Параметр length указывает максимальное количество байтов, которое считает функция. Другой способ закончить считывание — указать символы \r, \n или \0 (в зависимости от параметра mode, смотрите ниже).

mode

Необязательный параметр mode — именованная константа:

  • PHP_BINARY_READ (по умолчанию) — вызывает системную функцию recv(). Режим безопасен при чтении двоичных данных.
  • PHP_NORMAL_READ — останавливает считывание на символах \n или \r.

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

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

Замечание:

Функция socket_read() возвращает строку нулевой длины (""), когда данных для чтения не осталось.

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

Версия Описание
8.0.0 Теперь параметр socket ожидает экземпляр класса Socket; раньше параметр ожидал ресурс (resource).

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

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