Класс Socket
Класс CakePHP для подключения к сетевым сокетам.
Базовый класс ядра для сетевого взаимодействия.
- Cake\Network\Socket использует Cake\Core\InstanceConfigTrait
Краткое описание свойств
-
$_connectionErrorsprotectedarrayИспользуется для захвата предупреждений о подключении, которые могут возникать при ошибках SSL, например.
-
$_defaultConfigprotectedСтандартные параметры конфигурации для подключения к сокетуarray -
$_encryptMethodsprotectedСодержит все доступные методы шифрованияarray -
$connectedpublicЭто логическое значение содержит текущее состояние класса Socketboolean -
$connectionpublicСсылка на ресурс подключения к сокетуresource|null -
$descriptionpublicОписание объектаstring -
$encryptedpublicИстина, если поток сокета зашифрован после вызова Cake\Network\Socket::enableCrypto()boolean -
$lastErrorpublicЭта переменная содержит массив с последним номером ошибки (num) и строкой (str)array
Наследованные свойства
Краткое описание методов
- __construct() publicКонструктор.
- __destruct() publicДеструктор, используется для разрыва соединения с текущим подключением.
- _connectionErrorHandler() protected
socket_stream_client() не заполняет errNum или $errStr при ошибках соединения, как, например, при сбое проверки SSL.
- _setSslContext() protectedНастройка параметров контекста SSL.
- address() publicПолучение IP-адреса текущего подключения.
- addresses() publicПолучение всех IP-адресов, связанных с текущим подключением.
- connect() publicПодключение сокета к заданному хосту и порту.
- context() publicПолучение контекста подключения.
- disconnect() publicРазрыв соединения сокета с текущим подключением.
- enableCrypto() publicШифрование текущего сокета потока, используя один из определённых методов шифрования
- host() publicПолучение имени хоста текущего подключения.
- lastError() publicПолучение последней ошибки в виде строки.
- read() public
Чтение данных из сокета. Возвращает ложь, если данные недоступны или подключение не удалось установить.
- reset() publicСброс состояния экземпляра Socket в исходное состояние (до выполнения Object::__construct)
- setLastError() publicУстановка последней ошибки.
- write() publicЗапись данных в сокет.
Подробное описание методов
__construct()source public
__construct( array $config = [] )
Конструктор.
Параметры
- массив
$configнеобязательно [] - Конфигурация сокета, которая будет объединена с базовой конфигурацией
См. также
\Cake\Network\Socket::$_baseConfig__destruct()source public
__destruct( )
Деструктор, используется для разрыва соединения с текущим подключением.
_connectionErrorHandler()source protected
_connectionErrorHandler( integer $code , string $message )
socket_stream_client() не заполняет errNum или $errStr при ошибках соединения, как, например, при сбое проверки SSL.
Вместо этого, нам нужно обрабатывать эти ошибки вручную.
Параметры
- целое число
$code - Код ошибки.
- строка
$message - Сообщение.
_setSslContext()source protected
_setSslContext( string $host )
Настройка параметров контекста SSL.
Параметры
- строка
$host - Имя хоста, к которому осуществляется подключение.
address()source public
address( )
Получение IP-адреса текущего подключения.
Возвращает
строкаIP-адрес
addresses()source public
addresses( )
Получение всех IP-адресов, связанных с текущим подключением.
Возвращает
массивIP-адреса
connect()source public
connect( )
Подключение сокета к заданному хосту и порту.
Возвращает
логическое значениеУспех
Выбрасывает
Cake\Network\Exception\SocketExceptioncontext()source public
context( )
Получение контекста подключения.
Возвращает
null|массивNull, если нет подключения, массив, если есть.
disconnect()source public
disconnect( )
Разрыв соединения сокета с текущим подключением.
Возвращает
логическое значениеУспех
enableCrypto()source public
enableCrypto( string $type , string $clientOrServer = 'client' , boolean $enable = true )
Шифрование текущего сокета потока, используя один из определённых методов шифрования
Параметры
- строка
$type - может быть 'ssl2', 'ssl3', 'ssl23' или 'tls'
- строка
$clientOrServerнеобязательно 'client' - может быть 'client', 'server'. По умолчанию 'client'
- логическое значение
$enableнеобязательно true - включить или отключить шифрование. По умолчанию включено
Возвращает
логическое значениеИстина при успехе
Выбрасывает
InvalidArgumentExceptionКогда выбран неверный алгоритм шифрования.
Cake\Network\Exception\SocketExceptionПри попытке включить SSL/TLS
См. также
stream_socket_enable_cryptolastError()source public
lastError( )
Получение последней ошибки в виде строки.
Возвращает
строка|nullПоследняя ошибка
read()source public
read( integer $length = 1024 )
Считывает данные из сокета. Возвращает false, если данные недоступны или соединение не удалось установить.
Значение возвращаемого значения bool false устарело и будет null в следующей основной версии. Пожалуйста, пишите код соответственно, чтобы быть совместимым с будущими версиями.
Параметры
- целое число
$lengthнеобязательно 1024 - Необязательная длина буфера для чтения; по умолчанию 1024
Возвращает
смешанныйДанные сокета
reset()source public
reset( array|null $state = null )
Сбрасывает состояние экземпляра Socket в исходное состояние (до выполнения Object::__construct).
Параметры
- массив|null
$stateнеобязательно null - Массив с ключами и значениями для сброса
Возвращает
булевоИстина при успехе
setLastError()source public
setLastError( integer $errNum , string $errStr )
Устанавливает последнюю ошибку.
Параметры
- целое число
$errNum - Код ошибки
- строка
$errStr - Описание ошибки
write()source public
write( string $data )
Записывает данные в сокет.
Значение возвращаемого значения bool false устарело и будет int 0 в следующей основной версии. Пожалуйста, пишите код соответственно, чтобы быть совместимым с будущими версиями.
Параметры
- строка
$data - Данные для записи в сокет.
Возвращает
целое число|ложьЗаписанные байты.
Методы, используемые из Cake\Core\InstanceConfigTrait
_configDelete()source protected
_configDelete( string $key )
Удаляет один ключ конфигурации.
Параметры
- строка
$key - Ключ для удаления.
Выбрасывает
Cake\Core\Exception\Exceptionесли пытаетесь перезаписать существующую конфигурацию
_configRead()source protected
_configRead( string|null $key )
Читает ключ конфигурации.
Параметры
- строка|null
$key - Ключ для чтения.
Возвращает
смешанный_configWrite()source protected
_configWrite( string|array $key , mixed $value , boolean|string $merge = false )
Записывает ключ конфигурации.
Параметры
- строка|массив
$key - Ключ для записи.
- смешанный
$value - Значение для записи.
- булево|строка
$mergeнеобязательно false Истина для рекурсивного слияния, 'shallow' для простого слияния, ложь для перезаписи, по умолчанию ложь.
Выбрасывает
Cake\Core\Exception\Exceptionесли пытаетесь перезаписать существующую конфигурацию
config()source public устаревший
config( string|array|null $key = null , mixed|null $value = null , boolean $merge = true )
Получение/установка конфигурации.
Использование
Чтение всей конфигурации:
$this->config();
Чтение определенного значения:
$this->config('key'); Чтение вложенного значения:
$this->config('some.nested.key'); Установка определенного значения:
$this->config('key', $value); Установка вложенного значения:
$this->config('some.nested.key', $value); Обновление нескольких настроек конфигурации одновременно:
$this->config(['one' => 'value', 'another' => 'value']);
Устаревший
3.4.0 используйте setConfig()/getConfig() вместо этого.Параметры
- строка|массив|null
$keyнеобязательно null - Ключ для получения/установки или полный массив конфигураций.
- смешанный|null
$valueнеобязательно null - Значение для установки.
- булево
$mergeнеобязательно true - Рекурсивное слияние или перезапись существующей конфигурации, по умолчанию true.
Возвращает
смешанныйЗначение конфигурации для чтения или сам объект при операциях записи.
Выбрасывает
Cake\Core\Exception\ExceptionПри попытке установить недопустимый ключ.
configShallow()source public
configShallow( string|array $key , mixed|null $value = null )
Сливает предоставленную конфигурацию с существующей. В отличие от config(), которая выполняет рекурсивное слияние для вложенных ключей, этот метод выполняет простое слияние.
Установка определенного значения:
$this->configShallow('key', $value); Установка вложенного значения:
$this->configShallow('some.nested.key', $value); Обновление нескольких настроек конфигурации одновременно:
$this->configShallow(['one' => 'value', 'another' => 'value']);
Параметры
- строка|массив
$key - Ключ для установки или полный массив конфигураций.
- смешанный|null
$valueнеобязательно null - Значение для установки.
Возвращает
$this
getConfig()source public
getConfig( string|null $key = null , mixed $default = null )
Возвращает конфигурацию.
Использование
Чтение всей конфигурации:
$this->getConfig();
Чтение определенного значения:
$this->getConfig('key'); Чтение вложенного значения:
$this->getConfig('some.nested.key'); Чтение со значением по умолчанию:
$this->getConfig('some-key', 'default-value'); Параметры
- строка|null
$keyнеобязательно null - Ключ для получения или null для всей конфигурации.
- смешанный
$defaultнеобязательно null - Возвращаемое значение, когда ключ не существует.
Возвращает
смешанныйДанные конфигурации по указанному ключу или null, если ключ не существует.
setConfig()source public
setConfig( string|array $key , mixed|null $value = null , boolean $merge = true )
Устанавливает конфигурацию.
Использование
Установка определенного значения:
$this->setConfig('key', $value); Установка вложенного значения:
$this->setConfig('some.nested.key', $value); Обновление нескольких настроек конфигурации одновременно:
$this->setConfig(['one' => 'value', 'another' => 'value']);
Параметры
- строка|массив
$key - Ключ для установки или полный массив конфигураций.
- смешанный|null
$valueнеобязательно null - Значение для установки.
- булево
$mergeнеобязательно true - Рекурсивное слияние или перезапись существующей конфигурации, по умолчанию true.
Возвращает
$this
Выбрасывает
Cake\Core\Exception\ExceptionПри попытке установить недопустимый ключ.
Подробности свойств
$_connectionErrorssource
protected массив
Используется для захвата предупреждений о подключении, которые могут произойти, например, при ошибках SSL.
[]
$_defaultConfigsource
protected массив
Настройки конфигурации по умолчанию для подключения к сокету
[
'persistent' => false,
'host' => 'localhost',
'protocol' => 'tcp',
'port' => 80,
'timeout' => 30
] $_encryptMethodssource
protected массив
Содержит все доступные методы шифрования
SSLv2 и SSLv3 устарели и не должны использоваться, так как имеют несколько опубликованных уязвимостей.
[
// @codingStandardsIgnoreStart
// @deprecated Will be removed in 4.0.0
'sslv2_client' => STREAM_CRYPTO_METHOD_SSLv2_CLIENT,
// @deprecated Will be removed in 4.0.0
'sslv3_client' => STREAM_CRYPTO_METHOD_SSLv3_CLIENT,
'sslv23_client' => STREAM_CRYPTO_METHOD_SSLv23_CLIENT,
'tls_client' => STREAM_CRYPTO_METHOD_TLS_CLIENT,
'tlsv10_client' => STREAM_CRYPTO_METHOD_TLSv1_0_CLIENT,
'tlsv11_client' => STREAM_CRYPTO_METHOD_TLSv1_1_CLIENT,
'tlsv12_client' => STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT,
// @deprecated Will be removed in 4.0.0
'sslv2_server' => STREAM_CRYPTO_METHOD_SSLv2_SERVER,
// @deprecated Will be removed in 4.0.0
'sslv3_server' => STREAM_CRYPTO_METHOD_SSLv3_SERVER,
'sslv23_server' => STREAM_CRYPTO_METHOD_SSLv23_SERVER,
'tls_server' => STREAM_CRYPTO_METHOD_TLS_SERVER,
'tlsv10_server' => STREAM_CRYPTO_METHOD_TLSv1_0_SERVER,
'tlsv11_server' => STREAM_CRYPTO_METHOD_TLSv1_1_SERVER,
'tlsv12_server' => STREAM_CRYPTO_METHOD_TLSv1_2_SERVER
// @codingStandardsIgnoreEnd
] $encryptedsource
public boolean
True, если поток сокета зашифрован после вызова Cake\Network\Socket::enableCrypto()
false
$lastErrorsource
public array
Эта переменная содержит массив с последним кодом ошибки (num) и строкой (str)
[]
© 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/3.8/class-Cake.Network.Socket.html