amphp / websocket-client
Async WebSocket client for PHP based on Amp.
Fund package maintenance!
amphp
Installs: 377 786
Dependents: 14
Suggesters: 0
Security: 0
Stars: 79
Watchers: 13
Forks: 17
Open Issues: 2
Requires
- php: >=7.2
- amphp/amp: ^2.2
- amphp/http: ^1.3
- amphp/http-client: ^4
- amphp/socket: ^1
- amphp/websocket: ^1
- league/uri: ^6
- psr/http-message: ^1
Requires (Dev)
- amphp/http-server: ^2
- amphp/php-cs-fixer-config: dev-master
- amphp/phpunit-util: ^1.1
- amphp/websocket-server: dev-master as 2.0-rc4
- phpunit/phpunit: ^8 || ^7
- psr/log: ^1
- vimeo/psalm: ^3.11@dev
This package is auto-updated.
Last update: 2021-02-26 23:01:55 UTC
README
amphp/websocket-client
is an async WebSocket client for PHP based on Amp.
Installation
This package can be installed as a Composer dependency.
composer require amphp/websocket-client
Requirements
- PHP 7.2+
Documentation & Examples
More extensive code examples reside in the examples
directory.
use Amp\Websocket\Client\Connection; use Amp\Websocket\Message; use function Amp\delay; use function Amp\Websocket\Client\connect; // Connects to the Kaazing echoing websocket demo. Amp\Loop::run(function () { /** @var Connection $connection */ $connection = yield connect('ws://demos.kaazing.com/echo'); yield $connection->send("Hello!"); $i = 0; while ($message = yield $connection->receive()) { /** @var Message $message */ $payload = yield $message->buffer(); printf("Received: %s\n", $payload); if ($payload === "Goodbye!") { $connection->close(); break; } yield delay(1000); // Pause the coroutine for 1 second. if ($i < 3) { yield $connection->send("Ping: " . ++$i); } else { yield $connection->send("Goodbye!"); } } });
Versioning
amphp/websocket-client
follows the semver semantic versioning specification like all other amphp
packages.
Security
If you discover any security related issues, please email contact@amphp.org
instead of using the issue tracker.
License
The MIT License (MIT). Please see LICENSE
for more information.