Класс CakeSocket
Класс CakePHP для подключения к сетевым сокетам.
Базовый класс ядра для сетевого взаимодействия.
Непосредственные подклассы
Авторские права: Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
Лицензия: MIT License
Расположение: Cake/Network/CakeSocket.php
Краткое описание свойств
-
$_baseConfigprotectedБазовые параметры конфигурации для подключения к сокетуarray -
$_connectionErrorsprotectedarrayИспользуется для захвата предупреждений о подключении, которые могут возникнуть при ошибках SSL, например.
-
$_encryptMethodsprotectedСодержит все доступные методы шифрованияarray -
$configpublicНастройки конфигурации для подключения к сокетуarray -
$connectedpublicЭто булево значение содержит текущее состояние класса CakeSocketboolean -
$connectionpublicСсылка на ресурс подключения к сокетуresource -
$descriptionpublicОписание объектаstring -
$encryptedpublicИстина, если поток сокета зашифрован после вызова CakeSocket::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 array() )
Конструктор.
Параметры
- массив
$configнеобязательный array() - Настройка сокета, которая будет слита с базовой настройкой
См. также
CakeSocket::$_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( )
Подключает сокет к указанному хосту и порту.
Возвращает
логическое значениеУспех
Выбрасывает
SocketExceptioncontext()source public
context( )
Получает контекст подключения.
Возвращает
null|массивNull, если нет подключения, массив, если есть.
disconnect()source public
disconnect( )
Отключает сокет от текущего подключения.
Возвращает
логическое значениеУспех
enableCrypto()source public
enableCrypto( string $type , string $clientOrServer 'client' , boolean $enable true )
Шифрует текущий поток сокета, используя один из определенных методов шифрования.
Параметры
- строка
$type - Тип, который может быть одним из 'sslv2', 'sslv3', 'sslv23' или 'tls'.
- строка
$clientOrServerнеобязательный 'client' - Может быть 'client' или 'server'. По умолчанию 'client'.
- логическое значение
$enableнеобязательный true - Включить или отключить шифрование. По умолчанию включено (true).
Возвращает
логическое значениеИстина при успехе
Выбрасывает
InvalidArgumentExceptionПри выборе неверной схемы шифрования.
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 $state null )
Сбрасывает состояние этого объекта Socket в исходное состояние (до выполнения Object::__construct)
Параметры
- array
$stateпо желанию null - Массив с ключами и значениями для сброса
Возвращаемое значение
booleanTrue в случае успеха
setLastError()source public
setLastError( integer $errNum , string $errStr )
Устанавливает последнюю ошибку.
Параметры
- integer
$errNum - Код ошибки
- string
$errStr - Строка ошибки
write()source public
write( string $data )
Записывает данные в сокет.
Параметры
- string
$data - Данные, которые нужно записать в сокет
Возвращаемое значение
booleanУспех
Подробное описание свойств
$_baseConfigsource
protected array
Основные параметры конфигурации для подключения к сокету
array(
'persistent' => false,
'host' => 'localhost',
'protocol' => 'tcp',
'port' => 80,
'timeout' => 30
) $_connectionErrorssource
protected array
Используется для сбора предупреждений о подключении, которые могут возникать, например, при ошибках SSL.
array()
$_encryptMethodssource
protected array
Содержит все доступные методы шифрования
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
) $connectedsource
public boolean
Это булево значение содержит текущее состояние класса CakeSocket
false
$encryptedsource
public boolean
Истинно, если поток сокета зашифрован после вызова CakeSocket::enableCrypto()
false
$lastErrorsource
public array
Эта переменная содержит массив с последним номером ошибки (num) и строкой ошибки (str)
array()
© 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/2.8/class-CakeSocket.html