Spec-Zone.ru › CakePHP 3.8

Класс Socket

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

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

Cake\Network\Socket использует Cake\Core\InstanceConfigTrait
Пространство имён: Cake\Network
Расположение: Network/Socket.php

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

  • $_connectionErrors protected
    array

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

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

Наследованные свойства

  • _config, _configInitialized

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

  • __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
Имя хоста, к которому осуществляется подключение.

address()source public

address( )

Получение IP-адреса текущего подключения.

Возвращает

строка
IP-адрес

addresses()source public

addresses( )

Получение всех IP-адресов, связанных с текущим подключением.

Возвращает

массив
IP-адреса

connect()source public

connect( )

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

Возвращает

логическое значение
Успех

Выбрасывает

Cake\Network\Exception\SocketException

context()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
включить или отключить шифрование. По умолчанию включено

Возвращает

логическое значение
Истина при успехе

Выбрасывает

InvalidArgumentException
Когда выбран неверный алгоритм шифрования.
Cake\Network\Exception\SocketException
При попытке включить SSL/TLS

См. также

stream_socket_enable_crypto

host()source public

host( )

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

Возвращает

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

lastError()source public

lastError( )

Получение последней ошибки в виде строки.

Возвращает

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

read()source public

read( integer $length = 1024 )

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

Значение возвращаемого значения bool false устарело и будет null в следующей основной версии. Пожалуйста, пишите код соответственно, чтобы быть совместимым с будущими версиями.

Параметры

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

Возвращает

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

reset()source public

reset( array|null $state = null )

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

Параметры

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

Возвращает

булево
Истина при успехе

setLastError()source public

setLastError( integer $errNum , string $errStr )

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

Параметры

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

write()source public

write( string $data )

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

Значение возвращаемого значения bool false устарело и будет int 0 в следующей основной версии. Пожалуйста, пишите код соответственно, чтобы быть совместимым с будущими версиями.

Параметры

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

Возвращает

целое число|ложь
Записанные байты.

Методы, используемые из Cake\Core\InstanceConfigTrait

_configDelete()source protected

_configDelete( string $key )

Удаляет один ключ конфигурации.

Параметры

строка $key
Ключ для удаления.

Выбрасывает

Cake\Core\Exception\Exception
если пытаетесь перезаписать существующую конфигурацию

_configRead()source protected

_configRead( string|null $key )

Читает ключ конфигурации.

Параметры

строка|null $key
Ключ для чтения.

Возвращает

смешанный

_configWrite()source protected

_configWrite( string|array $key , mixed $value , boolean|string $merge = false )

Записывает ключ конфигурации.

Параметры

строка|массив $key
Ключ для записи.
смешанный $value
Значение для записи.
булево|строка $merge необязательно false

Истина для рекурсивного слияния, 'shallow' для простого слияния, ложь для перезаписи, по умолчанию ложь.

Выбрасывает

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() вместо этого.

Параметры

строка|массив|null $key необязательно null
Ключ для получения/установки или полный массив конфигураций.
смешанный|null $value необязательно null
Значение для установки.
булево $merge необязательно true
Рекурсивное слияние или перезапись существующей конфигурации, по умолчанию true.

Возвращает

смешанный
Значение конфигурации для чтения или сам объект при операциях записи.

Выбрасывает

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']);

Параметры

строка|массив $key
Ключ для установки или полный массив конфигураций.
смешанный|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');

Параметры

строка|null $key необязательно null
Ключ для получения или null для всей конфигурации.
смешанный $default необязательно null
Возвращаемое значение, когда ключ не существует.

Возвращает

смешанный
Данные конфигурации по указанному ключу или null, если ключ не существует.

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']);

Параметры

строка|массив $key
Ключ для установки или полный массив конфигураций.
смешанный|null $value необязательно null
Значение для установки.
булево $merge необязательно true
Рекурсивное слияние или перезапись существующей конфигурации, по умолчанию true.

Возвращает


$this

Выбрасывает

Cake\Core\Exception\Exception
При попытке установить недопустимый ключ.

Подробности свойств

$_connectionErrorssource

protected массив

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

[]

$_defaultConfigsource

protected массив

Настройки конфигурации по умолчанию для подключения к сокету

[
    'persistent' => false,
    'host' => 'localhost',
    'protocol' => 'tcp',
    'port' => 80,
    'timeout' => 30
]

$_encryptMethodssource

protected массив

Содержит все доступные методы шифрования

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 булево

Этот булевый тип содержит текущее состояние класса Socket

false

$connectionsource

public ресурс|null

Ссылка на ресурс подключения к сокету

$descriptionsource

public строка

Описание объекта

'Remote DataSource Network Socket Interface'
END_OF_DOCUMENT_MARKER

$encryptedsource

public boolean

True, если поток сокета зашифрован после вызова 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.8/class-Cake.Network.Socket.html

Spec-Zone.ru

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