Spec-Zone.ru › CakePHP 4.4

Класс Socket

Класс CakePHP для подключения к сетевому сокету.

Базовый класс ядра для сетевого взаимодействия.

Пространство имён: Cake\Network

Краткое описание свойств

  • $_config protected
    array<string, mixed>

    Конфигурация выполнения

  • $_configInitialized protected
    bool

    Указывает, была ли конфигурация свойства уже настроена с параметрами по умолчанию

  • $_connectionErrors protected
    array<string>

    Используется для записи предупреждений о подключении, которые могут возникнуть, например, при ошибках SSL.

  • $_defaultConfig protected
    array<string, mixed>

    Настройки конфигурации по умолчанию для подключения к сокету

  • $_encryptMethods protected
    array<string, int>

    Содержит все доступные методы шифрования

  • $connected protected
    bool

    Это булево значение содержит текущее состояние класса Socket

  • $connection protected
    resource|null

    Ссылка на ресурс подключения к сокету

  • $encrypted protected
    bool

    Истина, если поток сокета зашифрован после вызова {@link \Cake\Network\Socket::enableCrypto()}

  • $lastError protected
    array<string, mixed>

    Эта переменная содержит массив с последним номером ошибки (num) и строкой (str)

Краткое описание методов

  • __construct() public

    Конструктор.

  • __destruct() public

    Деструктор, используется для отключения от текущего подключения.

  • __get() public

    Временный магический метод для доступа к защищённым свойствам.

  • _configDelete() protected

    Удаляет единственный ключ конфигурации.

  • _configRead() protected

    Считывает ключ конфигурации.

  • _configWrite() protected

    Записывает ключ конфигурации.

  • _connectionErrorHandler() protected

    socket_stream_client() не заполняет errNum или $errStr при ошибках подключения, как, например, при сбое проверки SSL.

  • _getStreamSocketClient() protected

    Создаёт клиент потокового сокета. Утилита моделирования.

  • _setSslContext() protected

    Настраивает параметры контекста SSL.

  • address() public

    Получить IP-адрес текущего подключения.

  • addresses() public

    Получить все IP-адреса, связанные с текущим подключением.

  • configShallow() public

    Объединить предоставленную конфигурацию с существующей конфигурацией. В отличие от config(), который выполняет рекурсивное объединение для вложенных ключей, этот метод выполняет простое объединение.

  • connect() public

    Подключиться к сокету по заданному хосту и порту.

  • context() public

    Получить контекст подключения.

  • disconnect() public

    Отключить сокет от текущего подключения.

  • enableCrypto() public

    Зашифровать текущий поток сокета, используя один из определённых методов шифрования

  • getConfig() public

    Возвращает конфигурацию.

  • getConfigOrFail() public

    Возвращает конфигурацию для данного ключа.

  • host() public

    Получить имя хоста текущего подключения.

  • isConnected() public

    Проверить статус подключения после вызова connect().

  • isEncrypted() public

    Проверить статус шифрования после вызова enableCrypto().

  • lastError() public

    Получить последнюю ошибку в виде строки.

  • read() public

    Считывает данные из сокета. Возвращает null, если данные недоступны или не удалось установить соединение.

  • reset() public

    Сбрасывает состояние экземпляра Socket в начальное состояние (до выполнения Object::__construct).

  • setConfig() public

    Устанавливает конфигурацию.

  • setLastError() public

    Устанавливает последнюю ошибку.

  • write() public

    Записать данные в сокет.

Подробное описание методов

__construct() public

__construct(array<string, mixed> $config = [])

Конструктор.

Параметры

array<string, mixed> $config необязательный

Настройка сокета, которая будет слита с базовой настройкой

См. также

\Cake\Network\Socket::$_defaultConfig

__destruct() public

__destruct()

Деструктор, используемый для отключения от текущего подключения.

__get() public

__get(string $name): mixed

Временный магический метод для доступа к защищенным свойствам.

Будет удален в версии 5.0.

Параметры

string $name

Имя свойства.

Возвращает

mixed

_configDelete() protected

_configDelete(string $key): void

Удаляет единственный ключ конфигурации.

Параметры

string $key

Ключ для удаления.

Возвращает

void

Использует

Cake\Core\Exception\CakeException
при попытке перезаписать существующую конфигурацию

_configRead() protected

_configRead(string|null $key): mixed

Читает ключ конфигурации.

Параметры

string|null $key

Ключ для чтения.

Возвращает

mixed

_configWrite() protected

_configWrite(array<string, mixed>|string $key, mixed $value, string|bool $merge = false): void

Записывает ключ конфигурации.

Параметры

array<string, mixed>|string $key

Ключ для записи.

mixed $value

Значение для записи.

string|bool $merge необязательный

Истина для рекурсивного слияния, «shallow» для простого слияния, ложь для перезаписи, по умолчанию ложь.

Возвращает

void

Использует

Cake\Core\Exception\CakeException
при попытке перезаписи существующей конфигурации

_connectionErrorHandler() protected

_connectionErrorHandler(int $code, string $message): void

socket_stream_client() не заполняет errNum или $errStr при ошибках подключения, как в случае с ошибкой проверки SSL.

Вместо этого нам нужно обработать эти ошибки вручную.

Параметры

int $code

Код ошибки.

string $message

Сообщение.

Возвращает

void

_getStreamSocketClient() protected

_getStreamSocketClient(string $remoteSocketTarget, int $errNum, string $errStr, int $timeout, int $connectAs, resource $context): resource|null

Создает клиента потокового сокета. Утилита моделирования.

Параметры

string $remoteSocketTarget

Удаленный сокет

int $errNum

Номер ошибки

string $errStr

Строка ошибки

int $timeout

Таймаут

int $connectAs

Флаги

resource $context

Контекст

Возвращает

resource|null

_setSslContext() protected

_setSslContext(string $host): void

Настройка параметров контекста SSL.

Параметры

string $host

Имя хоста, к которому выполняется подключение.

Возвращает

void

address() public

address(): string

Получение IP-адреса текущего подключения.

Возвращает

string

addresses() public

addresses(): array

Получение всех IP-адресов, связанных с текущим подключением.

Возвращает

array

configShallow() public

configShallow(array<string, mixed>|string $key, mixed|null $value = null): $this

Объединение предоставленной конфигурации с существующей конфигурацией. В отличие от config(), которая выполняет рекурсивное объединение для вложенных ключей, этот метод выполняет простое объединение.

Установка определенного значения:

$this->configShallow('key', $value);

Установка вложенного значения:

$this->configShallow('some.nested.key', $value);

Обновление нескольких настроек конфигурации одновременно:

$this->configShallow(['one' => 'value', 'another' => 'value']);

Параметры

array<string, mixed>|string $key

Ключ для установки или полный массив конфигураций.

mixed|null $value необязательный

Значение для установки.

Возвращает

$this

connect() public

connect(): bool

Подключение сокета к указанному хосту и порту.

Возвращает

bool

Использует

Cake\Network\Exception\SocketException

context() public

context(): array|null

Получение контекста подключения.

Возвращает

array|null

disconnect() public

disconnect(): bool

Отключение сокета от текущего подключения.

Возвращает

bool

enableCrypto() public

enableCrypto(string $type, string $clientOrServer = 'client', bool $enable = true): void

Шифрование текущего потокового сокета с использованием одного из определенных методов шифрования

Параметры

string $type

может быть одним из 'ssl2', 'ssl3', 'ssl23' или 'tls'

string $clientOrServer необязательный

может быть одним из 'client', 'server'. По умолчанию — 'client'

bool $enable необязательный

включить или отключить шифрование. По умолчанию — true (включить)

Возвращает

void

Использует

InvalidArgumentException
При выборе неверного метода шифрования.
Cake\Network\Exception\SocketException
При попытке включить SSL/TLS

См. также

stream_socket_enable_crypto

getConfig() public

getConfig(string|null $key = null, mixed $default = null): mixed

Возвращает конфигурацию.

Использование

Чтение всей конфигурации:

$this->getConfig();

Чтение определенного значения:

$this->getConfig('key');

Чтение вложенного значения:

$this->getConfig('some.nested.key');

Чтение со значением по умолчанию:

$this->getConfig('some-key', 'default-value');

Параметры

string|null $key необязательный

Ключ для получения или null для всей конфигурации.

mixed $default необязательный

Возвращаемое значение, когда ключ не существует.

Возвращает

mixed

getConfigOrFail() public

getConfigOrFail(string $key): mixed

Возвращает конфигурацию для данного ключа.

Значение конфигурации для этого ключа должно существовать, оно никогда не может быть null.

Параметры

string $key

Ключ для получения.

Возвращает

mixed

Использует

InvalidArgumentException

host() public

host(): string

Получение имени хоста текущего подключения.

Возвращает

string

isConnected() public

isConnected(): bool

Проверка состояния подключения после вызова connect().

Возвращает

bool

isEncrypted() public

isEncrypted(): bool

Проверка состояния шифрования после вызова enableCrypto().

Возвращает

bool

lastError() public

lastError(): string|null

Получить последнюю ошибку в виде строки.

Возвращает

string|null

read() public

read(int $length = 1024): string|null

Считывает данные из сокета. Возвращает null, если данные недоступны или соединение не может быть установлено.

Параметры

int $length optional

Необязательная длина буфера для чтения; по умолчанию 1024

Возвращает

string|null

reset() public

reset(array|null $state = null): void

Сбрасывает состояние экземпляра Socket до начального состояния (до выполнения Object::__construct).

Параметры

array|null $state optional

Массив с ключами и значениями для сброса

Возвращает

void

setConfig() public

setConfig(array<string, mixed>|string $key, mixed|null $value = null, bool $merge = true): $this

Устанавливает конфигурацию.

Использование

Установка определенного значения:

$this->setConfig('key', $value);

Установка вложенного значения:

$this->setConfig('some.nested.key', $value);

Обновление нескольких параметров конфигурации одновременно:

$this->setConfig(['one' => 'value', 'another' => 'value']);

Параметры

array<string, mixed>|string $key

Ключ для установки или полный массив конфигураций.

mixed|null $value optional

Значение для установки.

bool $merge optional

Признак рекурсивного слияния или перезаписи существующей конфигурации, по умолчанию true.

Возвращает

$this

Исключения

Cake\Core\Exception\CakeException
При попытке установить неверный ключ.

setLastError() public

setLastError(int|null $errNum, string $errStr): void

Установить последнюю ошибку.

Параметры

int|null $errNum

Код ошибки

string $errStr

Строка ошибки

Возвращает

void

write() public

write(string $data): int

Запись данных в сокет.

Параметры

string $data

Данные для записи в сокет.

Возвращает

int

Подробное описание свойств

$_config protected

Конфигурация во время выполнения

Тип

array<string, mixed>

$_configInitialized protected

Признак того, что свойство config уже настроено с значениями по умолчанию

Тип

bool

$_connectionErrors protected

Используется для захвата предупреждений о подключении, которые могут возникнуть, например, при ошибках SSL.

Тип

array<string>

$_defaultConfig protected

Параметры конфигурации по умолчанию для подключения к сокету

Тип

array<string, mixed>

$_encryptMethods protected

Содержит все доступные методы шифрования

Тип

array<string, int>

$connected protected

Этот булевый признак содержит текущее состояние класса Socket

Тип

bool

$connection protected

Ссылка на ресурс подключения к сокету

Тип

resource|null

$encrypted protected

True, если поток сокета зашифрован после вызова {@link \Cake\Network\Socket::enableCrypto()}

Тип

bool

$lastError protected

Эта переменная содержит массив с последним номером ошибки (num) и строкой ошибки (str)

Тип

array<string, mixed>

© 2005–present The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/4.4/class-Cake.Network.Socket.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API