我在使用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