Класс Socket
Класс CakePHP для сетевого подключения к сокету.
Базовый класс ядра для сетевого взаимодействия.
- Cake\Network\Socket использует Cake\Core\InstanceConfigTrait
Mixin: \Cake\Core\InstanceConfigTrait
Расположение: Network/Socket.php
Краткое описание свойств
-
$_connectionErrorsprotectedarrayИспользуется для захвата предупреждений о подключении, которые могут возникать, например, при ошибках SSL.
-
$_defaultConfigprotectedНастройки конфигурации по умолчанию для сокета.array -
$_encryptMethodsprotectedСодержит все доступные методы шифрования.array -
$connectedpublicЭто булево значение содержит текущее состояние класса Socket.boolean -
$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 - Имя хоста, к которому происходит подключение.
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)
Возвращает
логическое значение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–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.6/class-Cake.Network.Socket.html