CakePHP
  • Documentation
    • Book
    • API
    • Videos
    • Reporting Security Issues
    • Privacy Policy
    • Logos & Trademarks
  • Business Solutions
  • Swag
  • Road Trip
  • Team
  • Community
    • Community
    • Get Involved
    • Issues (Github)
    • Bakery
    • Featured Resources
    • Training
    • Meetups
    • My CakePHP
    • CakeFest
    • Newsletter
    • Linkedin
    • YouTube
    • Facebook
    • Twitter
    • Mastodon
    • Help & Support
    • Forum
    • Stack Overflow
    • IRC
    • Slack
    • Paid Support
CakePHP

C CakePHP 3.0 Red Velvet API

  • Project:
    • CakePHP
      • CakePHP
      • Authentication
      • Authorization
      • Chronos
      • Elastic Search
      • Queue
  • Version:
    • 3.0
      • 5.2
      • 5.1
      • 5.0
      • 4.6
      • 4.5
      • 4.4
      • 4.3
      • 4.2
      • 4.1
      • 4.0
      • 3.10
      • 3.9
      • 3.8
      • 3.7
      • 3.6
      • 3.5
      • 3.4
      • 3.3
      • 3.2
      • 3.1
      • 3.0
      • 2.10
      • 2.9
      • 2.8
      • 2.7
      • 2.6
      • 2.5
      • 2.4
      • 2.3
      • 2.2
      • 2.1
      • 2.0
      • 1.3
      • 1.2

Namespaces

  • Global
  • Cake
    • Auth
    • Cache
    • Collection
    • Console
    • Controller
    • Core
    • Database
    • Datasource
    • Error
    • Event
    • Filesystem
    • Form
    • I18n
    • Log
    • Network
      • Email
      • Exception
      • Http
      • Session
    • ORM
    • Routing
    • Shell
    • TestSuite
    • Utility
    • Validation
    • View

Class Socket

CakePHP network socket connection class.

Core base class for network communication.

Namespace: Cake\Network

Property Summary

  • $_config protected
    array

    Runtime config

  • $_configInitialized protected
    bool

    Whether the config property has already been configured with defaults

  • $_connectionErrors protected
    array

    Used to capture connection warnings which can happen when there are SSL errors for example.

  • $_defaultConfig protected
    array

    Default configuration settings for the socket connection

  • $_encryptMethods protected
    array

    Contains all the encryption methods available

  • $connected public
    bool

    This boolean contains the current state of the Socket class

  • $connection public
    resource

    Reference to socket connection resource

  • $description public
    string

    Object description

  • $encrypted public
    bool

    True if the socket stream is encrypted after a Cake\Network\Socket::enableCrypto() call

  • $lastError public
    array

    This variable contains an array with the last error number (num) and string (str)

Method Summary

  • __construct() public

    Constructor.

  • __destruct() public

    Destructor, used to disconnect from current connection.

  • _configDelete() protected

    Delete a single config key

  • _configRead() protected

    Read a config variable

  • _configWrite() protected

    Write a config variable

  • _connectionErrorHandler() protected

    socket_stream_client() does not populate errNum, or $errStr when there are connection errors, as in the case of SSL verification failure.

  • address() public

    Get the IP address of the current connection.

  • addresses() public

    Get all IP addresses associated with the current connection.

  • config() public

    Usage

  • configShallow() public

    Merge provided config with existing config. Unlike config() which does a recursive merge for nested keys, this method does a simple merge.

  • connect() public

    Connect the socket to the given host and port.

  • context() public

    Get the connection context.

  • disconnect() public

    Disconnect the socket from the current connection.

  • enableCrypto() public

    Encrypts current stream socket, using one of the defined encryption methods

  • host() public

    Get the host name of the current connection.

  • lastError() public

    Get the last error as a string.

  • read() public

    Read data from the socket. Returns false if no data is available or no connection could be established.

  • reset() public

    Resets the state of this Socket instance to it's initial state (before Object::__construct got executed)

  • setLastError() public

    Set the last error.

  • write() public

    Write data to the socket.

Method Detail

__construct() ¶ public

__construct(array $config = [])

Constructor.

Parameters
array $config optional

Socket configuration, which will be merged with the base configuration

See Also
Socket::$_baseConfig

__destruct() ¶ public

__destruct()

Destructor, used to disconnect from current connection.

_configDelete() ¶ protected

_configDelete(string $key): void

Delete a single config key

Parameters
string $key

Key to delete.

Returns
void
Throws
Cake\Core\Exception\Exception
if attempting to clobber existing config

_configRead() ¶ protected

_configRead(string|null $key): mixed

Read a config variable

Parameters
string|null $key

Key to read.

Returns
mixed

_configWrite() ¶ protected

_configWrite(string|array $key, mixed $value, bool|string $merge = false): void

Write a config variable

Parameters
string|array $key

Key to write to.

mixed $value

Value to write.

bool|string $merge optional

True to merge recursively, 'shallow' for simple merge, false to overwrite, defaults to false.

Returns
void
Throws
Cake\Core\Exception\Exception
if attempting to clobber existing config

_connectionErrorHandler() ¶ protected

_connectionErrorHandler(int $code, string $message): void

socket_stream_client() does not populate errNum, or $errStr when there are connection errors, as in the case of SSL verification failure.

Instead we need to handle those errors manually.

Parameters
int $code

Code number.

string $message

Message.

Returns
void

address() ¶ public

address(): string

Get the IP address of the current connection.

Returns
string

IP address

addresses() ¶ public

addresses(): array

Get all IP addresses associated with the current connection.

Returns
array

IP addresses

config() ¶ public

config(string|array|null $key = null, mixed|null $value = null, bool $merge = true): mixed

Usage

Reading the whole config:

$this->config();

Reading a specific value:

$this->config('key');

Reading a nested value:

$this->config('some.nested.key');

Setting a specific value:

$this->config('key', $value);

Setting a nested value:

$this->config('some.nested.key', $value);

Updating multiple config settings at the same time:

$this->config(['one' => 'value', 'another' => 'value']);
Parameters
string|array|null $key optional

The key to get/set, or a complete array of configs.

mixed|null $value optional

The value to set.

bool $merge optional

Whether to recursively merge or overwrite existing config, defaults to true.

Returns
mixed

Config value being read, or the object itself on write operations.

Throws
Cake\Core\Exception\Exception
When trying to set a key that is invalid.

configShallow() ¶ public

configShallow(string|array $key, mixed|null $value = null): $this

Merge provided config with existing config. Unlike config() which does a recursive merge for nested keys, this method does a simple merge.

Setting a specific value:

$this->config('key', $value);

Setting a nested value:

$this->config('some.nested.key', $value);

Updating multiple config settings at the same time:

$this->config(['one' => 'value', 'another' => 'value']);
Parameters
string|array $key

The key to set, or a complete array of configs.

mixed|null $value optional

The value to set.

Returns
$this

The object itself.

connect() ¶ public

connect(): bool

Connect the socket to the given host and port.

Returns
bool

Success

Throws
Cake\Network\Exception\SocketException

context() ¶ public

context(): null|array

Get the connection context.

Returns
null|array

Null when there is no connection, an array when there is.

disconnect() ¶ public

disconnect(): bool

Disconnect the socket from the current connection.

Returns
bool

Success

enableCrypto() ¶ public

enableCrypto(string $type, string $clientOrServer = 'client', bool $enable = true): bool

Encrypts current stream socket, using one of the defined encryption methods

Parameters
string $type

can be one of 'ssl2', 'ssl3', 'ssl23' or 'tls'

string $clientOrServer optional

can be one of 'client', 'server'. Default is 'client'

bool $enable optional

enable or disable encryption. Default is true (enable)

Returns
bool

True on success

Throws
InvalidArgumentException
When an invalid encryption scheme is chosen.
Cake\Network\Exception\SocketException
When attempting to enable SSL/TLS fails
See Also
stream_socket_enable_crypto

host() ¶ public

host(): string

Get the host name of the current connection.

Returns
string

Host name

lastError() ¶ public

lastError(): string|null

Get the last error as a string.

Returns
string|null

Last error

read() ¶ public

read(int $length = 1024): mixed

Read data from the socket. Returns false if no data is available or no connection could be established.

Parameters
int $length optional

Optional buffer length to read; defaults to 1024

Returns
mixed

Socket data

reset() ¶ public

reset(array $state = null): bool

Resets the state of this Socket instance to it's initial state (before Object::__construct got executed)

Parameters
array $state optional

Array with key and values to reset

Returns
bool

True on success

setLastError() ¶ public

setLastError(int $errNum, string $errStr): void

Set the last error.

Parameters
int $errNum

Error code

string $errStr

Error string

Returns
void

write() ¶ public

write(string $data): bool

Write data to the socket.

Parameters
string $data

The data to write to the socket

Returns
bool

Success

Property Detail

$_config ¶ protected

Runtime config

Type
array

$_configInitialized ¶ protected

Whether the config property has already been configured with defaults

Type
bool

$_connectionErrors ¶ protected

Used to capture connection warnings which can happen when there are SSL errors for example.

Type
array

$_defaultConfig ¶ protected

Default configuration settings for the socket connection

Type
array

$_encryptMethods ¶ protected

Contains all the encryption methods available

Type
array

$connected ¶ public

This boolean contains the current state of the Socket class

Type
bool

$connection ¶ public

Reference to socket connection resource

Type
resource

$description ¶ public

Object description

Type
string

$encrypted ¶ public

True if the socket stream is encrypted after a Cake\Network\Socket::enableCrypto() call

Type
bool

$lastError ¶ public

This variable contains an array with the last error number (num) and string (str)

Type
array
OpenHub
Pingping
Linode
  • Business Solutions
  • Showcase
  • Documentation
  • Book
  • API
  • Videos
  • Reporting Security Issues
  • Privacy Policy
  • Logos & Trademarks
  • Community
  • Get Involved
  • Issues (Github)
  • Bakery
  • Featured Resources
  • Training
  • Meetups
  • My CakePHP
  • CakeFest
  • Newsletter
  • Linkedin
  • YouTube
  • Facebook
  • Twitter
  • Mastodon
  • Help & Support
  • Forum
  • Stack Overflow
  • IRC
  • Slack
  • Paid Support

Generated using CakePHP API Docs