valeriitropin/socketio-emitter

1.0.0 2017-12-18 20:47 UTC

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

返回循环实例。

链接