我在 nodeJS 中使用 zeroMQ。但似乎在将数据从生产者发送到工作人员时,如果我不将其放入 setInterval 中,则它不会将数据发送给工作人员。我的示例代码如下:
producer.js
===========
var zmq = require('zmq')
, sock = zmq.socket('push');
sock.bindSync('tcp://127.0.0.1:3000');
console.log('Producer bound to port 3000');
//sock.send("hello");
var i = 0;
//1. var timer = setInterval(function() {
var str = "hello";
console.log('sending work', str, i++);
sock.send(str);
//2. clearTimeout(timer);
//3. }, 150);
sock.on('message', function(msg) {
console.log("Got A message, [%s], [%s]", msg);
});
所以在上面的代码中,如果我添加回 1、2 和 3 中注释的行,那么我确实会收到工人端的消息,否则它不起作用。
谁能阐明为什么要发送消息我需要将其放入 setInterval 中?还是我做错了什么?