gos/websocket-client

PHP 中的 WAMP 客户端

v1.5.0 2021-11-24 03:24 UTC

This package is auto-updated.

Last update: 2024-08-24 09:29:50 UTC


README

注意 - 该仓库已弃用,未来仅对关键错误和安全漏洞进行更新。请使用 Pawl

WebSocketPhpClient

Latest Stable Version Latest Unstable Version Total Downloads License

关于

此包提供了一个PHP客户端,可以利用WAMPv1协议向WebSocket服务器发送消息。目前不支持监听回复。

支持的函数

  • prefix
  • call
  • publish
  • event

使用方法

直接创建客户端

您可以通过创建一个新的 Gos\Component\WebSocketClient\Wamp\Client 对象来直接创建一个 Gos\Component\WebSocketClient\Wamp\ClientInterface 实例。构造函数有两个必填要求;服务器主机和端口。您可以通过查看 Client 类构造函数 来查看所有参数。

<?php
use Gos\Component\WebSocketClient\Wamp\Client;

$client = new Client('127.0.0.1', 8080);

通过工厂

还有一个 Gos\Component\WebSocketClient\Wamp\ClientFactoryInterface 可以用来创建客户端实例。默认的 Gos\Component\WebSocketClient\Wamp\ClientFactory 支持PSR-3日志记录器,如果存在,将自动将其注入到客户端。

<?php
use Gos\Component\WebSocketClient\Wamp\ClientFactory;

$factory = new ClientFactory(['host' => '127.0.0.1', 'port' => 8080]);
$client = $factory->createConnection();

与服务器交互

一旦创建了一个客户端,您就可以连接并与其WebSocket服务器进行交互。

<?php
use Gos\Component\WebSocketClient\Wamp\ClientFactory;

$factory = new ClientFactory(['host' => '127.0.0.1', 'port' => 8080]);
$client = $factory->createConnection();

$sessionId = $client->connect();

// Establish a prefix on server
$client->prefix('calc', 'http://example.com/simple/calc#');

// You can send an arbitrary number of arguments
$client->call('calc', 12, 14, 15);

$data = [0, 1, 2];

// Or an array
$client->call('calc', $data);

$exclude = [$sessionId]; // No sense in sending the payload to ourselves
$eligible = []; // List of other clients ids that are eligible to receive this payload

$client->publish('topic', '', $exclude, $eligible);

// Publish an event
$client->event('topic', '');
$client->disconnect();

许可

本软件根据MIT许可分发。有关更多信息,请参阅LICENSE。

原始项目

https://github.com/bazo/wamp-client