Класс 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
Чтение данных из сокета. Возвращает 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 - Имя хоста, к которому осуществляется подключение.
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 (включить)
Возвращает
булевоTrue при успехе
Выбрасывает
InvalidArgumentExceptionЕсли выбран неверный метод шифрования.
Cake\Network\Exception\SocketExceptionПри попытке включить SSL/TLS
См. также
stream_socket_enable_cryptolastError()source public
lastError( )
Получить последнюю ошибку в виде строки.
Возвращает
string|nullПоследняя ошибка
read()source public
read( integer $length 1024 )
Прочитать данные из сокета. Возвращает false, если данные недоступны или соединение не может быть установлено.
Параметры
- integer
$lengthнеобязательный 1024 - Необязательная длина буфера для чтения; по умолчанию 1024
Возвращает
mixedДанные сокета
reset()source public
reset( array|null $state null )
Сбрасывает состояние экземпляра Socket до исходного состояния (до выполнения Object::__construct).
Параметры
- array|null
$stateнеобязательный null - Массив с ключами и значениями для сброса
Возвращает
booleanTrue при успехе
setLastError()source public
setLastError( integer $errNum , string $errStr )
Установить последнюю ошибку.
Параметры
- integer
$errNum - Код ошибки
- string
$errStr - Строка ошибки
write()source public
write( string $data )
Записать данные в сокет.
Параметры
- string
$data - Данные для записи в сокет.
Возвращает
integerЗаписанные байты.
Методы, используемые из Cake\Core\InstanceConfigTrait
_configDelete()source protected
_configDelete( string $key )
Удаляет один ключ конфигурации.
Параметры
- string
$key - Ключ для удаления.
Исключение
Cake\Core\Exception\Exceptionесли попытка перезаписать существующую конфигурацию
_configRead()source protected
_configRead( string|null $key )
Читает ключ конфигурации.
Параметры
- string|null
$key - Ключ для чтения.
Возвращает
mixed_configWrite()source protected
_configWrite( string|array $key , mixed $value , boolean|string $merge false )
Записывает ключ конфигурации.
Параметры
- string|array
$key - Ключ для записи.
- mixed
$value - Значение для записи.
- boolean|string
$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']);
Устарело
3.4.0 используйте setConfig()/getConfig() вместо этого.Параметры
- string|array|null
$keyнеобязательный null - Ключ для получения/установки или весь массив конфигураций.
- mixed|null
$valueнеобязательный null - Значение для установки.
- boolean
$mergeнеобязательный true - Необходимо ли рекурсивно сливать или перезаписывать существующую конфигурацию, по умолчанию true.
Возвращает
mixedЗначение конфигурации для чтения, или сам объект при операциях записи.
Исключение
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']);
Параметры
- string|array
$key - Ключ для установки или весь массив конфигураций.
- mixed|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'); Параметры
- string|null
$keyнеобязательный null - Ключ для получения или null для всей конфигурации.
- mixed
$defaultнеобязательный null - Значение по умолчанию, если ключ не существует.
Возвращает
mixedЗначение конфигурации для чтения.
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']);
Параметры
- string|array
$key - Ключ для установки или весь массив конфигураций.
- mixed|null
$valueнеобязательный null - Значение для установки.
- boolean
$mergeнеобязательный true - Необходимо ли рекурсивно сливать или перезаписывать существующую конфигурацию, по умолчанию true.
Возвращает
$this
Исключение
Cake\Core\Exception\ExceptionПри попытке установить недопустимый ключ.
Подробное описание свойств
$_connectionErrorssource
protected array
Используется для захвата предупреждений о подключении, которые могут возникать при наличии, например, ошибок SSL.
[]
$_defaultConfigsource
protected array
Настройки конфигурации по умолчанию для подключения к сокету
[
'persistent' => false,
'host' => 'localhost',
'protocol' => 'tcp',
'port' => 80,
'timeout' => 30
] $_encryptMethodssource
protected array
Содержит все доступные методы шифрования
[
// @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
] $encryptedsource
public boolean
Истинно, если поток сокета зашифрован после вызова Cake\Network\Socket::enableCrypto()
false
$lastErrorsource
public array
Эта переменная содержит массив с последним кодом ошибки (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.4/class-Cake.Network.Socket.html