Releases: amphp/websocket-client
1.0.0 RC1
This 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.
0.2.4
0.2.3
0.2.2
- Reject connections if RSV is not equals to
0. - Validate close reasons to be valid UTF-8 if UTF-8 validation has been requested.
- Accept zero-length frames starting a message.
- Deliver stored messages correctly if they're immediately followed by a close.
- Reject continuations if there's no started message.
- Disable streaming for frames. A single frame is now always buffered. A message can still be streamed via multiple frames.