valeriitropin / socketio-emitter
1.0.0
2017-12-18 20:47 UTC
Requires
- clue/block-react: ^1.2
- clue/redis-react: ^2.1
- rybakit/msgpack: ^0.2.2
This package is not auto-updated.
Last update: 2024-09-29 05:08:07 UTC
README
异步实现的socket.io发射器,使用PHP编写。基于ReactPHP组件构建。
安装
composer require valeriitropin/socketio-emitter
如何使用
use React\EventLoop\Factory as ReactFactory; use ValeriiTropin\Socketio\Emitter; $loop = ReactFactory::create(); $emitter = new Emitter($loop); $promise = $emitter->to($room)->emit($event, $data) ->then(function () {}) ->otherwise(function ($error) {});
API
发射器
__construct(React\EventLoop\LoopInterface $loop, $options = [], ValeriiTropin\Socketio\PackerInterface $packer = null)
$options
key
: pub/sub事件前缀(socket.io
)namespace
: socket.io命名空间(/
)uri
: Redis连接字符串,见文档(localhost
)client
: pub客户端
to($room): ValeriiTropin\Socketio\Emitter
添加房间并返回当前的Emitter
实例
$emitter->to($room);
of($namespace): ValeriiTropin\Socketio\Emitter
使用给定的命名空间创建新的Emitter
实例。
$emitter->of($namespace);
emit($event, ...$args): React\Promise\Promise
向设置房间发射带有数据的事件。
$emitter->emit($event, $data) ->then(function () {}) ->otherwise(function ($error) {});
getLoop(): React\EventLoop\LoopInterface
返回循环实例。