react/zmq

ZeroMQ 绑定 React。

v0.4.0 2018-05-18 15:27 UTC

This package is auto-updated.

Last update: 2024-09-05 18:13:58 UTC


README

ZeroMQ 绑定 React。

Build Status

安装

推荐通过 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。