calcinai / bolt
异步 WebSocket 客户端
v1.1.3
2019-05-31 08:10 UTC
Requires
- ratchet/rfc6455: ^0.2.4
- react/socket: ^1.2.0
Requires (Dev)
- phpunit/phpunit: ^6.4
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();
其他可用的事件有 connecting
、connect
、disconnecting
、disconnect
通过 URI 支持通过 HTTP 基本认证,形式为 user:pass@host
任何反馈都非常受欢迎