配置zeromq.node req cache

时间:2015-05-26 15:06:43

标签: node.js sockets configuration zeromq

从c使用zeromq时,req套接字不允许发送两次。 现在,zeromq.node允许继续发送,所以我假设zeromq.node在内部缓存其他消息并在提交下一个之前等待答案。

此代码演示了此行为:

var zmq = require('zmq');
var req = zmq.socket('req');
var router = zmq.socket('router');
var tcp = 'tcp://127.0.0.1:3000';

router.on('message', function(source, _, command, data) {
    router.send([source, '', data]); // pass through
});

req.connect(tcp).on('message', function(data) {
    console.log('receive: ' + data); // acknowledge
});

var i = 0;
while(i < 100)
    req.send(['REQ', ++i]); // saved in cache and send later, on bindSync

setTimeout(router.bindSync.bind(router, tcp), 1000);

此缓存似乎没有限制,可以填满整个内存。

有没有办法配置它或将其限制为一定数量的项目/重试?

0 个答案:

没有答案