Open artiommorozov opened 5 years ago
Besides multipart messages as in example below, this issue prevents chaining router/dealer proxies
const zmq = require('zeromq'); function viaProxy() { const addr1 = "tcp://127.0.0.1:8901"; const addr2 = "tcp://127.0.0.1:8902"; const req = zmq.socket('req'); req.connect(addr1); const rep = zmq.socket('rep'); rep.connect(addr2); rep.on('message', (...args) => { console.log(`via proxy <- ${args.length} ${args.join(',')}`); }); const proxy1 = zmq.socket('router'); proxy1.bindSync(addr1); const proxy2 = zmq.socket('dealer'); proxy2.bindSync(addr2); zmq.proxy(proxy1, proxy2); req.send(['a', 'b']); rep.send('ack'); } function direct1() { const addr1 = "tcp://127.0.0.1:8911"; const addr2 = "tcp://127.0.0.1:8912"; const req = zmq.socket('req'); req.connect(addr1); const rep = zmq.socket('rep'); rep.bindSync(addr1); rep.on('message', (...args) => { console.log(`direct <- ${args.length} ${args.join(',')}`); }); req.send(['a', 'b']); rep.send('ack'); } direct1(); viaProxy();
Besides multipart messages as in example below, this issue prevents chaining router/dealer proxies