Spec-Zone.ru › CakePHP 2.10

Класс CakeSocket

Класс CakePHP для подключения к сетевому сокету.

Базовый класс ядра для сетевого взаимодействия.

Прямые подклассы

  • HttpSocket
Пакет: Cake\Network
Авторские права: Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org)
Лицензия: MIT License
Расположение: Cake/Network/CakeSocket.php

Краткое описание свойств

  • $_baseConfig protected
    array
    Базовые параметры конфигурации для сокетного подключения
  • $_connectionErrors protected
    array

    Используется для захвата предупреждений о подключении, которые могут возникнуть, например, при ошибках SSL.

  • $_encryptMethods protected
    array
    Содержит все доступные методы шифрования
  • $config public
    array
    Настройки конфигурации для сокетного подключения
  • $connected public
    boolean
    Этот булевый параметр содержит текущее состояние класса CakeSocket
  • $connection public
    resource
    Ссылка на ресурс сокетного подключения
  • $description public
    string
    Описание CakeSocket
  • $encrypted public
    boolean
    Истина, если потоковый сокет зашифрован после вызова CakeSocket::enableCrypto()
  • $lastError public
    array
    Эта переменная содержит массив с последним номером ошибки (num) и строкой (str)

Краткое описание методов

  • __construct() public
    Конструктор.
  • __destruct() public
    Деструктор, используется для отключения от текущего подключения.
  • _addTlsVersions() protected
    Добавляет версии TLS, зависящие от конкретных версий PHP.
  • _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
    Сброс состояния экземпляра этого сокета в начальное состояние (до выполнения CakeObject::__construct)
  • setLastError() public
    Установка последней ошибки.
  • write() public
    Запись данных в сокет.

Подробное описание методов

__construct()source public

__construct( array $config array() )

Конструктор.

Параметры

массив $config необязательно array()
Настройки сокета, которые будут объединены с базовыми настройками

См. также

CakeSocket::$_baseConfig

__destruct()source public

__destruct( )

Деструктор, используется для отключения от текущего подключения.

_addTlsVersions()source protected

_addTlsVersions( )

Добавляет версии TLS, зависящие от конкретных версий PHP.

Эти версии TLS не поддерживаются более старыми версиями PHP, поэтому мы должны условно задавать их, если они поддерживаются.

Начиная с PHP5.6.6, STREAM_CRYPTO_METHOD_TLS_CLIENT не включает TLS1.1 или 1.2. Если у нас есть поддержка TLS1.2, нам нужно обновить карту методов.

См. также

https://bugs.php.net/bug.php?id=69195
https://github.com/php/php-src/commit/10bc5fd4c4c8e1dd57bd911b086e9872a56300a0

_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( )

Подключение сокета к указанному хосту и порту.

Возвращает

булево
Успешно

Выбрасывает

SocketException

context()source public

context( )

Получение контекста подключения.

Возвращает

null|массив
Null, когда нет подключения, массив, когда есть.

disconnect()source public

disconnect( )

Отключение сокета от текущего подключения.

Возвращает

булево
Успешно
END_OF_DOCUMENT_MARKER

enableCrypto()source public

enableCrypto( string $type , string $clientOrServer 'client' , boolean $enable true )

Шифрует текущий сокет потока, используя один из определённых методов шифрования.

Параметры

строка $type
Тип, который может быть одним из 'sslv2', 'sslv3', 'sslv23', 'tls', 'tlsv1_1' или 'tlsv1_2'.
строка $clientOrServer необязательно 'client'
Может быть одним из 'client', 'server'. По умолчанию 'client'.
логическое значение $enable необязательно true
Включить или выключить шифрование. По умолчанию включено (true).

Возвращает

boolean
Истина при успехе

Выбрасывает

InvalidArgumentException
Если выбран неверный метод шифрования.
SocketException
Если попытка включения SSL/TLS завершилась неудачей.

См. также

stream_socket_enable_crypto

host()source public

host( )

Возвращает имя хоста текущего соединения.

Возвращает

строка
Имя хоста

lastError()source public

lastError( )

Возвращает последнюю ошибку в виде строки.

Возвращает

строка|null
Последняя ошибка

read()source public

read( integer $length 1024 )

Читает данные из сокета. Возвращает false, если данные недоступны или соединение не установлено.

Параметры

целое число $length необязательно 1024
Необязательная длина буфера для чтения; по умолчанию 1024

Возвращает

смешанный тип
Данные сокета

reset()source public

reset( array $state null )

Сбрасывает состояние этого экземпляра Socket до начального состояния (до выполнения CakeObject::__construct).

Параметры

массив $state необязательно null
Массив с ключами и значениями для сброса.

Возвращает

boolean
Истина при успехе

setLastError()source public

setLastError( integer $errNum , string $errStr )

Устанавливает последнюю ошибку.

Параметры

целое число $errNum
Код ошибки
строка $errStr
Текст ошибки

write()source public

write( string $data )

Записывает данные в сокет.

Параметры

строка $data
Данные для записи в сокет

Возвращает

boolean
Успех

Подробное описание свойств

$_baseConfigsource

protected массив

Базовые параметры конфигурации для соединения сокета

array(
    'persistent' => false,
    'host' => 'localhost',
    'protocol' => 'tcp',
    'port' => 80,
    'timeout' => 30,
    'cryptoType' => 'tls',
)

$_connectionErrorssource

protected массив

Используется для захвата предупреждений о подключении, которые могут возникнуть, например, при ошибках SSL.

array()

$_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
)

$configsource

public массив

Настройки конфигурации для соединения сокета.

array()

$connectedsource

public логическое значение

Это логическое значение содержит текущее состояние класса CakeSocket.

false

$connectionsource

public ресурс

Ссылка на ресурс соединения сокета.

null

$descriptionsource

public строка

Описание CakeSocket.

'Remote DataSource Network Socket Interface'

$encryptedsource

public логическое значение

Истина, если поток сокета зашифрован после вызова CakeSocket::enableCrypto().

false

$lastErrorsource

public массив

Эта переменная содержит массив с последним кодом ошибки (num) и текстом ошибки (str).

array()

© 2005–2017 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/2.10/class-CakeSocket.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API