Класс Socket
Класс CakePHP для подключения к сетевому сокету.
Базовый класс ядра для сетевого взаимодействия.
Краткое описание свойств
- $_config protected
array<string, mixed>Конфигурация выполнения
- $_configInitialized protected
boolУказывает, была ли конфигурация свойства уже настроена с параметрами по умолчанию
- $_connectionErrors protected
arrayИспользуется для записи предупреждений о подключении, которые могут возникнуть, например, при ошибках 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Эта переменная содержит массив с последним номером ошибки (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 необязательный Настройка сокета, которая будет слита с базовой настройкой
См. также
__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 Имя хоста, к которому выполняется подключение.
Возвращает
voidaddress() public
address(): string
Получение IP-адреса текущего подключения.
Возвращает
stringaddresses() public
addresses(): array
Получение всех IP-адресов, связанных с текущим подключением.
Возвращает
arrayconfigShallow() 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 необязательный Значение для установки.
Возвращает
$thisconnect() public
connect(): bool
Подключение сокета к указанному хосту и порту.
Возвращает
boolИспользует
Cake\Network\Exception\SocketExceptioncontext() public
context(): array|null
Получение контекста подключения.
Возвращает
array|nulldisconnect() public
disconnect(): bool
Отключение сокета от текущего подключения.
Возвращает
boolenableCrypto() 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
См. также
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 необязательный Возвращаемое значение, когда ключ не существует.
Возвращает
mixedgetConfigOrFail() public
getConfigOrFail(string $key): mixed
Возвращает конфигурацию для данного ключа.
Значение конфигурации для этого ключа должно существовать, оно никогда не может быть null.
Параметры
-
string$key Ключ для получения.
Возвращает
mixedИспользует
InvalidArgumentExceptionhost() public
host(): string
Получение имени хоста текущего подключения.
Возвращает
stringisConnected() public
isConnected(): bool
Проверка состояния подключения после вызова connect().
Возвращает
boolisEncrypted() public
isEncrypted(): bool
Проверка состояния шифрования после вызова enableCrypto().
Возвращает
boollastError() public
lastError(): string|null
Получить последнюю ошибку в виде строки.
Возвращает
string|nullread() public
read(int $length = 1024): string|null
Считывает данные из сокета. Возвращает null, если данные недоступны или соединение не может быть установлено.
Параметры
-
int$length optional Необязательная длина буфера для чтения; по умолчанию 1024
Возвращает
string|nullreset() public
reset(array|null $state = null): void
Сбрасывает состояние экземпляра Socket до начального состояния (до выполнения Object::__construct).
Параметры
-
array|null$state optional Массив с ключами и значениями для сброса
Возвращает
voidsetConfig() 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 Строка ошибки
Возвращает
voidwrite() public
write(string $data): int
Запись данных в сокет.
Параметры
-
string$data Данные для записи в сокет.
Возвращает
intПодробное описание свойств
$_config protected
Конфигурация во время выполнения
Тип
array<string, mixed>$_configInitialized protected
Признак того, что свойство config уже настроено с значениями по умолчанию
Тип
bool$_connectionErrors protected
Используется для захвата предупреждений о подключении, которые могут возникнуть, например, при ошибках SSL.
Тип
array$_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
© 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.3/class-Cake.Network.Socket.html