Класс Socket
Класс CakePHP для подключения к сетевому сокету.
Базовый класс ядра для сетевого взаимодействия.
- Cake\Network\Socket использует Cake\Core\InstanceConfigTrait
Mixin: \Cake\Core\InstanceConfigTrait
Расположение: Network/Socket.php
Краткое описание свойств
-
$_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 - Имя хоста, к которому производится подключение.
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( )
Получить последнюю ошибку в виде строки.
Возвращаемое значение
string|nullПоследняя ошибка
read()source public
read( integer $length 1024 )
Считывает данные из сокета. Возвращает false, если данные недоступны или соединение не может быть установлено.
Значение возврата bool false устарело и будет null в следующей большой версии. Пожалуйста, соответствующим образом напишите код для будущей совместимости.
Параметры
- 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 )
Записывает данные в сокет.
Значение возврата bool false устарело и будет int 0 в следующей большой версии. Пожалуйста, соответствующим образом напишите код для будущей совместимости.
Параметры
- string
$data - Данные для записи в сокет.
Возвращаемое значение
integer|falseЗаписанные байты.
Методы, используемые из 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
Содержит все доступные методы шифрования
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
] $connectedsource
public boolean
Этот булевый параметр содержит текущее состояние класса Socket
false
$encryptedsource
public boolean
Истинно, если поток сокета зашифрован после вызова Cake\Network\Socket::enableCrypto()
false
$lastErrorsource
public array
Эта переменная содержит массив с последним номером ошибки (num) и строкой (str)
[]
© 2005–2018 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.5/class-Cake.Network.Socket.html