Класс Socket
Класс CakePHP для подключения к сокету сети.
Базовый класс ядра для сетевого взаимодействия.
- Cake\Network\Socket использует Cake\Core\InstanceConfigTrait
Краткое описание свойств
-
$_connectionErrorsprotectedarrayИспользуется для захвата предупреждений о подключении, которые могут возникать при ошибках SSL, например.
-
$_defaultConfigprotectedНастройки конфигурации по умолчанию для подключения к сокетуarray -
$_encryptMethodsprotectedСодержит все доступные методы шифрованияarray -
$connectedpublicЭто логическое значение содержит текущее состояние класса Socketboolean -
$connectionpublicСсылка на ресурс подключения к сокетуresource -
$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
Чтение данных из сокета. Возвращает false, если данные недоступны или подключение не удалось установить.
- 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 - включить или выключить шифрование. По умолчанию включено (true)
Возвращает
логическое значениеИстина при успехе
Исключения
InvalidArgumentExceptionПри выборе неверного метода шифрования.
Cake\Network\Exception\SocketExceptionПри попытке включить SSL/TLS
См. также
stream_socket_enable_cryptolastError()source public
lastError( )
Получение последней ошибки в виде строки.
Возвращает
строка|nullПоследняя ошибка
read()source public
read( integer $length 1024 )
Считывает данные из сокета. Возвращает false, если данные недоступны или соединение не может быть установлено.
Параметры
- целое число
$lengthнеобязательный 1024 - Необязательная длина буфера для чтения; по умолчанию 1024
Возвращаемое значение
смешанныйДанные сокета
reset()source public
reset( array|null $state null )
Сбрасывает состояние экземпляра этого сокета в его начальное состояние (до выполнения Object::__construct).
Параметры
- массив|null
$stateнеобязательный null - Массив с ключами и значениями для сброса
Возвращаемое значение
логическое значениеTrue при успехе
setLastError()source public
setLastError( integer $errNum , string $errStr )
Устанавливает последнюю ошибку.
Параметры
- целое число
$errNum - Код ошибки
- строка
$errStr - Строка ошибки
write()source public
write( string $data )
Записывает данные в сокет.
Параметры
- строка
$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 - Значение для записи.
- boolean|строка
$mergeнеобязательный false True для рекурсивного слияния, 'shallow' для простого слияния, false для перезаписи, по умолчанию false.
Выбрасывает
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']);
Параметры
- строка|массив|null
$keyнеобязательный null - Ключ для получения/установки или полный массив конфигураций.
- смешанный|null
$valueнеобязательный null - Значение для установки.
- boolean
$mergeнеобязательный true - Рекурсивное слияние или перезапись существующей конфигурации, по умолчанию true.
Возвращаемое значение
смешанныйЗначение конфигурации для чтения, или сам объект при операциях записи.
Выбрасывает
Cake\Core\Exception\ExceptionПри попытке установить недопустимый ключ.
configShallow()source public
configShallow( string|array $key , mixed|null $value null )
Сливает предоставленную конфигурацию с существующей конфигурацией. В отличие от config(), которая выполняет рекурсивное слияние для вложенных ключей, этот метод выполняет простое слияние.
Установка определенного значения:
$this->config('key', $value); Установка вложенного значения:
$this->config('some.nested.key', $value); Обновление нескольких параметров конфигурации одновременно:
$this->config(['one' => 'value', 'another' => 'value']);
Параметры
- строка|массив
$key - Ключ для установки или полный массив конфигураций.
- смешанный|null
$valueнеобязательный null - Значение для установки.
Возвращаемое значение
$this Объект.
Подробное описание свойств
$_connectionErrorssource
protected массив
Используется для захвата предупреждений о подключении, которые могут возникать, например, при ошибках SSL.
[]
$_defaultConfigsource
protected массив
Настройки конфигурации по умолчанию для подключения к сокету
[
'persistent' => false,
'host' => 'localhost',
'protocol' => 'tcp',
'port' => 80,
'timeout' => 30
] $_encryptMethodssource
protected массив
Содержит все доступные методы шифрования
[
// @codingStandardsIgnoreStart
'sslv2_client' => STREAM_CRYPTO_METHOD_SSLv2_CLIENT,
'sslv3_client' => STREAM_CRYPTO_METHOD_SSLv3_CLIENT,
'sslv23_client' => STREAM_CRYPTO_METHOD_SSLv23_CLIENT,
'tls_client' => STREAM_CRYPTO_METHOD_TLS_CLIENT,
'sslv2_server' => STREAM_CRYPTO_METHOD_SSLv2_SERVER,
'sslv3_server' => STREAM_CRYPTO_METHOD_SSLv3_SERVER,
'sslv23_server' => STREAM_CRYPTO_METHOD_SSLv23_SERVER,
'tls_server' => STREAM_CRYPTO_METHOD_TLS_SERVER
// @codingStandardsIgnoreEnd
] $connectedsource
public логическое значение
Это булево значение содержит текущее состояние класса Socket
false
$encryptedsource
public boolean
True, если поток сокета зашифрован после вызова Cake\Network\Socket::enableCrypto()
false
$lastErrorsource
public массив
Эта переменная содержит массив с номером последней ошибки (num) и строкой (str)
[]
© 2005–2017 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.3/class-Cake.Network.Socket.html