calcinai/bolt

异步 WebSocket 客户端

v1.1.3 2019-05-31 08:10 UTC

This package is auto-updated.

Last update: 2024-08-29 04:39:43 UTC


README

异步 WebSocket 客户端客户端库,用于 PHP。支持 HyBi,以及 Hixie #76(没有意义)。

这个库纯粹是为了作为客户端构建的,因为大部分可用的 WS 客户端也包含了服务器,体积非常庞大。

安装

使用 composer

composer require calcinai/bolt   

使用方法

由于这个库非常适合用于异步应用程序,它被构建为使用 React 事件循环和解析器,因为它们很可能已经存在于您的项目中,并且这允许您连接到相同的循环。

$loop = \React\EventLoop\Factory::create();
$dns_factory = new React\Dns\Resolver\Factory();
$resolver = $dns_factory->createCached('8.8.8.8', $loop);

$client = new \Calcinai\Bolt\Client('ws://127.0.0.1:1337/chat', $loop, $resolver);

//Most WS servers will complain/forbid if there is no origin header
$client->setOrigin('127.0.0.1');

$client->connect();


$client->on('stateChange', function($newState){
    echo "State changed to: $newState\n";
});

$client->on('message', function($message) use ($client){
    echo "New message: \n";
    echo $message;
    
    $client->send('This is a response message');
});

$loop->run();

其他可用的事件有 connectingconnectdisconnectingdisconnect

通过 URI 支持通过 HTTP 基本认证,形式为 user:pass@host

任何反馈都非常受欢迎