Класс Socket
Класс CakePHP для подключения к сокету сети.
Базовый класс ядра для сетевого взаимодействия.
- Cake\Network\Socket использует Cake\Core\InstanceConfigTrait
Подробное описание методов
__constructsource public
__construct( array $config [] )
Конструктор.
Параметры
- массив
$configнеобязательно [] - Настройка сокета, которая будет слита с базовой конфигурацией
См. также
Socket::$_baseConfig__destructsource public
__destruct( )
Деструктор, используемый для отключения от текущего соединения.
_connectionErrorHandlersource protected
_connectionErrorHandler( integer $code , string $message )
socket_stream_client() не заполняет errNum или $errStr при ошибках соединения, как, например, при ошибке проверки SSL.
Вместо этого нам нужно обработать эти ошибки вручную.
Параметры
- целое число
$code - Код ошибки.
- строка
$message - Сообщение.
_setSslContextsource protected
_setSslContext( string $host )
Настройка параметров контекста SSL.
Параметры
- строка
$host - Имя хоста, к которому выполняется подключение.
addressessource public
addresses( )
Получить все IP-адреса, связанные с текущим соединением.
Возвращает
arrayIP-адреса
connectsource public
connect( )
Подключить сокет к указанному хосту и порту.
Возвращает
booleanУспех
Исключения
Cake\Network\Exception\SocketException\Cake\Network\Exception\SocketException
contextsource public
context( )
Получить контекст подключения.
Возвращает
null|arrayNull, если нет подключения, массив, если есть.
disconnectsource public
disconnect( )
Отключить сокет от текущего соединения.
Возвращает
booleanУспех
enableCryptosource public
enableCrypto( string $type , string $clientOrServer 'client' , boolean $enable true )
Шифрует текущий сокет потока, используя один из определенных методов шифрования.
Параметры
- строка
$type - может быть одной из 'ssl2', 'ssl3', 'ssl23' или 'tls'
- строка
$clientOrServerнеобязательно 'client' - может быть одной из 'client', 'server'. По умолчанию 'client'
- логическое значение
$enableнеобязательно true - включить или отключить шифрование. По умолчанию включено (true)
Возвращает
booleanTrue в случае успеха
Исключения
InvalidArgumentExceptionПри выборе неверного метода шифрования.
Cake\Network\Exception\SocketExceptionПри попытке включить SSL/TLS
См. также
stream_socket_enable_cryptolastErrorsource public
lastError( )
Получить последнюю ошибку в виде строки.
Возвращает
string|nullПоследняя ошибка
readsource public
read( integer $length 1024 )
Прочитать данные из сокета. Возвращает false, если данные недоступны или подключение не удалось установить.
Параметры
- целое число
$lengthнеобязательно 1024 - Необязательная длина буфера для чтения; по умолчанию 1024
Возвращает
mixedДанные сокета
resetsource public
reset( array $state null )
Сбрасывает состояние экземпляра Socket до первоначального состояния (до выполнения Object::__construct).
Параметры
- массив
$stateнеобязательно null - Массив с ключами и значениями для сброса
Возвращает
booleanTrue в случае успеха
setLastErrorsource public
setLastError( integer $errNum , string $errStr )
Установить последнюю ошибку.
Параметры
- целое число
$errNum - Код ошибки
- строка
$errStr - Строка ошибки
writesource public
write( string $data )
Записать данные в сокет.
Параметры
- строка
$data - Данные для записи в сокет
Возвращает
booleanУспех
Методы, используемые из Cake\Core\InstanceConfigTrait
_configDeletesource protected
_configDelete( string $key )
Удалить отдельный ключ конфигурации
Параметры
- строка
$key - Ключ для удаления.
Исключения
Cake\Core\Exception\Exceptionесли происходит попытка перезаписи существующей конфигурации
_configReadsource protected
_configRead( string|null $key )
Прочитать переменную конфигурации
Параметры
- строка|null
$key - Ключ для чтения.
Возвращает
mixedсмешанный тип
_configWritesource protected
_configWrite( string|array $key , mixed $value , boolean|string $merge false )
Записать переменную конфигурации
Параметры
- строка|массив
$key - Ключ для записи.
- смешанный тип
$value - Значение для записи.
- логическое значение|строка
$mergeнеобязательно false - True для рекурсивного слияния, 'shallow' для простого слияния, false для перезаписи, по умолчанию false.
Исключения
Cake\Core\Exception\Exceptionесли происходит попытка перезаписи существующей конфигурации
configsource 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']);
Параметры
- string|array|null
$keyнеобязательно null - Ключ для получения/установки или полный массив настроек.
- mixed|null
$valueнеобязательно null - Значение для установки.
- boolean
$mergeнеобязательно true - Выполнять рекурсивное слияние или перезаписывать существующий конфиг, по умолчанию true.
Возвращаемое значение
mixedЗначение конфига, которое читается, или сам объект при операциях записи.
Исключения
Cake\Core\Exception\ExceptionПри попытке установить недопустимый ключ.
configShallowsource 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']);
Параметры
- string|array
$key - Ключ для установки или полный массив настроек.
- mixed|null
$valueнеобязательно null - Значение для установки.
Возвращаемое значение
mixed$this Сам объект.
Резюме свойств
Свойства, используемые из Cake\Core\InstanceConfigTrait
$_configInitializedsource
protected boolean
Указывает, была ли свойство config уже настроена с значениями по умолчанию
false
© 2005–2016 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.
http://api.cakephp.org/3.1/class-Cake.Network.Socket.html