react / zmq
ZeroMQ 绑定 React。
v0.4.0
2018-05-18 15:27 UTC
Requires
- php: >=5.4.0
- ext-zmq: *
- evenement/evenement: ^3.0 || ^2.0
- react/event-loop: ^1.0 || ^0.5 || ^0.4
Requires (Dev)
- ext-pcntl: *
- phpunit/phpunit: ~4.8.35 || ~5.7 || ~6.4
README
ZeroMQ 绑定 React。
安装
推荐通过 Composer 安装 react/zmq。
composer require react/zmq
示例
别忘了自动加载
<?php require 'vendor/autoload.php';
以下是一个推送套接字的示例
<?php $loop = React\EventLoop\Factory::create(); $context = new React\ZMQ\Context($loop); $push = $context->getSocket(ZMQ::SOCKET_PUSH); $push->connect('tcp://127.0.0.1:5555'); $i = 0; $loop->addPeriodicTimer(1, function () use (&$i, $push) { $i++; echo "sending $i\n"; $push->send($i); }); $loop->run();
以及相应的拉取套接字
<?php $loop = React\EventLoop\Factory::create(); $context = new React\ZMQ\Context($loop); $pull = $context->getSocket(ZMQ::SOCKET_PULL); $pull->bind('tcp://127.0.0.1:5555'); $pull->on('error', function ($e) { var_dump($e->getMessage()); }); $pull->on('message', function ($msg) { echo "Received: $msg\n"; }); $loop->run();
待办事项
- 集成测试
- 缓冲限制
- 如果没有监听器,则不要推送消息
测试
要运行测试套件,您需要 PHPUnit。
$ phpunit
许可
MIT 许可,见 LICENSE。