ekstazi/websocket-stream-client-amphp
Composer 安装命令:
composer require ekstazi/websocket-stream-client-amphp
包简介
amphp/websocket-client adapter implementation for websocket stream client.
README 文档
README
ekstazi/websocket-stream-client-amphp is ekstazi/websocket-stream-client implementation based on amphp/websocket-client
Installation
This package can be installed as a Composer dependency.
composer require ekstazi/websocket-stream-client-amphp
Requirements
PHP 7.2+
Usage
With container
If you have container then add this to your container.php
use Amp\Websocket\Options; use \ekstazi\websocket\client\amphp\ConnectorFactory; use \ekstazi\websocket\client\ConnectionFactory; // .... return [ ConnectionFactory::class => new ConnectorFactory(), // this is optional config for default options to connections "config" => [ "websocket" => [ 'clientOptions' => Options::createClientDefault(), ] ] ];
Then in your code:
use \Psr\Container\ContainerInterface; use \ekstazi\websocket\client\ConnectionFactory; use \Psr\Http\Message\RequestInterface; use \ekstazi\websocket\client\Connection; /** @var ContainerInterface $container */ /** @var ConnectionFactory $connector */ /** @var RequestInterface $request */ $connector = $container->get(ConnectionFactory::class); /** @var Connection $stream */ $stream = yield $connector->connect($request, Connection::MODE_BINARY);
Without container
You can use functions to do the same:
use \Psr\Http\Message\RequestInterface; use \ekstazi\websocket\client\Connection; use function \ekstazi\websocket\client\connect; /** @var RequestInterface $request */ /** @var Connection $stream */ $stream = yield connect($request, Connection::MODE_BINARY);
or
use \ekstazi\websocket\client\ConnectionFactory; use \Psr\Http\Message\RequestInterface; use \ekstazi\websocket\client\Connection; use function \ekstazi\websocket\client\connector; /** @var RequestInterface $request */ /** @var ConnectionFactory $connector */ $connector = connector(); /** @var Connection $stream */ $stream = yield $connector->connect($request, Connection::MODE_BINARY);
Passing additional options to connection
use Amp\Websocket\Options; use \ekstazi\websocket\client\ConnectionFactory; use \Psr\Http\Message\RequestInterface; use \ekstazi\websocket\client\Connection; use function \ekstazi\websocket\client\connector; /** @var RequestInterface $request */ /** @var ConnectionFactory $connector */ $connector = connector(); /** @var Connection $stream */ $stream = yield $connector->connect($request, Connection::MODE_BINARY, Options::createClientDefault()->withoutHeartbeat());
Set default options to all connections
The default options can be overridden as shown in above example
use Amp\Websocket\Options; use ekstazi\websocket\client\amphp\Connector; use \ekstazi\websocket\client\ConnectionFactory; use \Psr\Http\Message\RequestInterface; use \ekstazi\websocket\client\Connection; /** @var RequestInterface $request */ /** @var ConnectionFactory $connector */ $connector = new Connector(null, Options::createClientDefault()); /** @var Connection $stream */ $stream = yield $connector->connect($request, Connection::MODE_BINARY);
统计信息
- 总下载量: 4
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 1
其他信息
- 授权协议: MIT
- 更新时间: 2020-04-05