1.0.0 RC1
Pre-releaseThis library has been refactored to use the new amphp/websocket
library containing components that can be shared between server and clients.
Note: This is a pre-release, there might be breaking changes in the final stable version.
The simplest way to use this library is with the connect()
function to initiate a WebSocket connection.
$connection = yield Amp\Websocket\Client\connect('ws://localhost:1337/broadcast');
yield $connection->send('Hello!');
/** @var Amp\Websocket\Message $message */
while ($message = yield $connection->receive()) {
$payload = yield $message->buffer();
// $payload now contains the entire message content
yield $connection->send('Received message with length ' . strlen($payload));
}
Custom request headers and connections options can be set using the Handshake
class and passing this object to connect()
instead of a string URI. Connection behavior can be customized using the Connector
interface or by extending the existing Rfc6455Connector
class.
WebSocket clients are now represented by Connection
, which extends the Client
object from amphp/websocket
. This object contains several methods for getting information about the client, fetching the headers returned in the server response, and sending/receiving messages.