gabrielbull/websocket-client

一个简单的PHP WebSocket客户端

0.3.1 2014-09-05 13:52 UTC

This package is auto-updated.

Last update: 2024-08-29 03:35:32 UTC


README

Build Status Latest Stable Version Total Downloads License

这是一个使用PHP实现的简单WebSocket WAMP客户端。

这是WAMP 1版本的实现。我没有时间实现WAMP 2,但如果你做了,那将非常棒。

需求

此库使用PHP 5.4及以上版本。

安装

建议您通过 composer 安装WebSocket客户端库。

{
    "require": {
        "gabrielbull/websocket-client": "dev-master"
    }
}

用法

以下是一个简单WebSocket客户端的示例

use WebSocketClient\WebSocketClient;
use WebSocketClient\WebSocketClientInterface;

class Client implements WebSocketClientInterface
{
    private $client;

    public function onWelcome(array $data)
    {
    }

    public function onEvent($topic, $message)
    {
    }

    public function subscribe($topic)
    {
        $this->client->subscribe($topic);
    }

    public function unsubscribe($topic)
    {
        $this->client->unsubscribe($topic);
    }

    public function call($proc, $args, Closure $callback = null)
    {
        $this->client->call($proc, $args, $callback);
    }

    public function publish($topic, $message)
    {
        $this->client->publish($topic, $message);
    }

    public function setClient(WebSocketClient $client)
    {
        $this->client = $client;
    }
}

$loop = React\EventLoop\Factory::create();

$client = new WebSocketClient(new Client, $loop);

$loop->run();