Example #1
0
<?php

use React\EventLoop\Factory;
use React\EventLoop\LoopInterface;
use Rx\Scheduler\EventLoopScheduler;
use Rxnet\Event\Event;
use Rxnet\Zmq\RxZmq;
use Rxnet\Zmq\SocketWrapper;
require __DIR__ . "/../../vendor/autoload.php";
$loop = Factory::create();
$zmq = new RxZmq($loop);
$scheduler = new EventLoopScheduler($loop);
$id = isset($argv[1]) ? (int) $argv[1] : '0';
$dealer = new Dealer($loop, $zmq, $scheduler);
$dealer->handle($id);
$loop->run();
class Dealer
{
    protected $ip = "tcp://127.0.0.1:23001";
    protected $id = 0;
    /** @var LoopInterface  */
    protected $loop;
    /** @var SocketWrapper  */
    protected $dealer;
    /** @var EventLoopScheduler  */
    protected $scheduler;
    public function __construct(LoopInterface $loop, RxZmq $zmq, EventLoopScheduler $scheduler)
    {
        $this->loop = $loop;
        $this->dealer = $zmq->dealer();
        $this->scheduler = $scheduler;