StreamServer
+ Inheritance diagram for StreamServer:

Description

Server that accepts and wraps incoming connections as client instances.

Public Static Methods

static int getType ()
 SOCK_STREAM More...
 
- Public Static Methods inherited from AbstractSocket
static self create (int $domain=AF_INET,... $extra)
 Creates an instance of the called class. More...
 

Public Methods

StreamClient accept ()
 Accepts an incoming client connection. More...
 
$this listen (int $backlog=0)
 Enables incoming connections. More...
 
- Public Methods inherited from AbstractServer
string __toString ()
 The server's name as <address>:<port>, or <filepath>:0 for Unix sockets, or ?<id> if a name can't be derived (e.g. More...
 
$this bind (string $address, int $port=0)
 Binds to an address and port, or file path (Unix) for the OS to create, so the server can listen. More...
 
- Public Methods inherited from AbstractSocket
 __construct ($resource)
 Validates and sets the underlying socket resource. More...
 
 __destruct ()
 Closes the socket if it's open. More...
 
$this await (int $channel)
 Blocks until the socket becomes available on a given channel. More...
 
$this awaitOutOfBand ()
 
$this awaitReadable ()
 
$this awaitWritable ()
 
$this close ()
 Closes the underlying resource if it's open. More...
 
int getDomain ()
 The AF_* address family constant. More...
 
int getId ()
 
mixed getOption (int $option)
 Retrieves an option value. More...
 
resource getResource ()
 
array getSockName ()
 The local address and port, or Unix file path and port 0. More...
 
bool isOpen ()
 
bool isOutOfBand ()
 Polls for whether the socket can perform a non-blocking out-of-band read. More...
 
bool isReadable ()
 Polls for whether the socket can perform a non-blocking read. More...
 
bool isReady (int $channel, ?float $timeout=0)
 Selects for channel availability. More...
 
bool isWritable ()
 Polls for whether the socket can perform a non-blocking write. More...
 
$this setBlocking (bool $blocking)
 Enables or disables blocking. More...
 
$this setOption (int $option, $value)
 Sets an option on the underlying resource. More...
 
$this setTimeout (float $timeout)
 Sets the I/O timeout length in seconds. More...
 
$this shutdown (int $channel)
 Shuts down I/O for a single channel. More...
 

Protected Methods

StreamClient newClient ($resource)
 Wraps an accepted connection. More...
 

Additional Inherited Members

- Public Properties inherited from SocketInterface
const CH_EXCEPT = 2
 Out-of-band channel. More...
 
const CH_READ = 0
 Read channel. More...
 
const CH_WRITE = 1
 Write channel. More...
 
- Protected Properties inherited from AbstractSocket
resource $resource
 The underlying PHP resource. More...
 

Methods

◆ accept()

StreamClient accept ( )

Accepts an incoming client connection.

This will block unless the server was selected for reading.

See also
https://php.net/socket_accept
Returns
StreamClient
Exceptions
SocketError

Reimplemented in WebSocketServer.

◆ getType()

static int getType ( )
staticfinal

SOCK_STREAM

Returns
int

Reimplemented from AbstractSocket.

◆ listen()

$this listen ( int  $backlog = 0)

Enables incoming connections.

Listening without binding first will cause the socket to bind to a random port on all network interfaces.

See also
https://php.net/socket_listen
bind()
Parameters
int$backlogConnection queue size, or 0 to use the system's default.
Returns
$this
Exceptions
SocketError

◆ newClient()

StreamClient newClient (   $resource)
protected

Wraps an accepted connection.

Parameters
resource$resourceThe accepted connection.
Returns
StreamClient

Reimplemented in WebSocketServer.