我在使用ZeroMQ时出现了一个奇怪的问题,其中一些消息被卡住了,而当新消息到达时就会变得不稳定。这就像新消息将卡住的信息推到门上一样(我知道可怕的比较)。ZeroMQ中卡住的消息
我的代码是非常简单:
rep.php
$context = new ZMQContext;
$receiver = new ZMQSocket($context, ZMQ::SOCKET_PULL);
$receiver->connect("tcp://localhost:8022");
$receiver2 = new ZMQSocket($context, ZMQ::SOCKET_PULL);
$receiver2->connect("tcp://localhost:8024");
for (;;) {
echo $receiver->recv() . PHP_EOL;
echo $receiver2->recv() . PHP_EOL;
}
cnt.php和cnt2.php(相同的代码,不同端口)
$context = new ZMQContext;
$work = new ZMQSocket($context, ZMQ::SOCKET_PUSH);
$work->bind('tcp://*:8022');
$work->send('Hello World');
cnt.php发送到8022和cnt2.php到8024.他们不时执行并发送消息给rep.php。但是,有些消息会卡住。如果我从cnt.php发送了4封邮件,没有收到任何邮件,但是当我从cnt2.php发送1封邮件时,我一次收到5封邮件。有任何想法吗?
选择是暗示你可能真的离不开它 – pyfunc
这其实并不重要。 =/ – vinnylinux