Класс 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
Читать данные из сокета. Возвращает ложь, если данные недоступны или подключение не установлено.
- 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 - Данные для записи в сокет
Возвращаемое значение
booleanУспех
Методы, используемые из 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']);
Параметры
- 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->config('key', $value); Установка вложенного значения:
$this->config('some.nested.key', $value); Обновление нескольких настроек конфигурации одновременно:
$this->config(['one' => 'value', 'another' => 'value']);
Параметры
- string|array
$key - Ключ для установки, или полный массив конфигураций.
- mixed|null
$valueнеобязательно null - Значение для установки.
Возвращаемое значение
$this Сам объект.
Подробности свойств
$_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
True, если поток сокета зашифрован после вызова Cake\Network\Socket::enableCrypto()
false
$lastErrorsource
public array
Эта переменная содержит массив с последним номером ошибки (num) и строкой (str)
[]
© 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.2/class-Cake.Network.Socket.html