ZMQ,Autobahn,Ratchet - >有时不推消息

时间:2014-07-15 14:02:14

标签: symfony nginx zeromq ratchet

我面临着一个很大的问题,我真的不知道它究竟是什么造成的。我网站上的很多内容都是通过websockets完成的,例如将消息推送给客户端。

推动我使用ZMQ和Ratchet。

这是php代码:

                $UserMessage = array(
                    'user' => $userid,
                    'message' => 'Search started',
                );

                $context = new \ZMQContext();
                $socket = $context->getSocket(\ZMQ::SOCKET_PUSH, 'my pusher');
                $socket->connect("tcp://localhost:5555");

                $socket->send(json_encode($UserMessage));

这是推送服务器:

            <?php
            require dirname(__DIR__) . '/vendor/autoload.php';

$loop   = React\EventLoop\Factory::create();
$pusher = new Some\Bundle\Topic\Pusher();

// Listen for the web server to make a ZeroMQ push after an ajax request
$context = new React\ZMQ\Context($loop);
$pull = $context->getSocket(ZMQ::SOCKET_PULL);
$pull->bind('tcp://127.0.0.1:5555'); // Binding to 127.0.0.1 means the only client that can connect is itself
$pull->on('message', array($pusher, 'onMessage'));

// Set up our WebSocket server for clients wanting real-time updates
$webSock = new React\Socket\Server($loop);
$webSock->listen(8181, '0.0.0.0'); // Binding to 0.0.0.0 means remotes can connect
$webServer = new Ratchet\Server\IoServer(
    new Ratchet\Http\HttpServer(
        new Ratchet\WebSocket\WsServer(
            new Ratchet\Wamp\WampServer(
                $pusher
            )
        )
    ),
    $webSock
);

$loop->run();

问题是:有时消息不会全部被推送。这是随机发生的。有时它会像连续20条消息的魅力一样,有时候不会。

有谁知道这可能是由什么引起的?顺便说一句,我正在使用nginx作为网络服务器。是否有任何类型的日志可能会有所帮助?

此致

0 个答案:

没有答案