Spec-Zone.ru › CakePHP 3.6

Класс Socket

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

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

Cake\Network\Socket использует Cake\Core\InstanceConfigTrait
Пространство имён: Cake\Network
Mixin: \Cake\Core\InstanceConfigTrait
Расположение: 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

    Чтение данных из сокета. Возвращает 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\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
включить или отключить шифрование. По умолчанию включено (true)

Возвращает

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

Выбрасывает

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

См. также

stream_socket_enable_crypto

host()source public

host( )

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

Возвращает

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

lastError()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
Массив с ключами и значениями для сброса

Возвращает

boolean
True при успехе

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

$connectionsource

public resource|null

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

$descriptionsource

public string

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

'Remote DataSource Network Socket Interface'

$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

Spec-Zone.ru

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