Spec-Zone.ru › CakePHP 3.5

Класс 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

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

  • 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 (включить)

Возвращает

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

Выбрасывает

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
END_OF_DOCUMENT_MARKER

$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–2018 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.5/class-Cake.Network.Socket.html

Spec-Zone.ru

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