Articles of zeromq

缓冲区转换正确解码PUB / SUB中的<Topic>,但不是消息。 为什么?

这是ZeroMQ PUB / SUBsockets的SUB端处理程序的代码: sock.on('message', function(topic, message) { console.log("–Topic–"); console.log(topic); console.log(topic.toString('utf8')); console.log("–Message–"); console.log(message); console.log(message.toString('utf8')); console.log(""); }); 可能在这里丢失了一些东西,但我很难找出为什么我的缓冲区转换返回垃圾: –Topic– <Buffer 70 72 65 73 65 6e 63 65> presence –Message– <Buffer 08 a0 43 10 f9 dd d3 cb 05 18 00 20 18 2a 06 00 0c 29 f2 d5 b4 aa 1f 30 10 […]

npm安装zmq的问题

我正在做npm安装zmq,但卡住在奇怪的错误,请参阅下面 C:\ Users \ Administrator> npm install zmq MSBUILD:错误MSB4132:工具版本“2.0”无法识别。 可用的LS版本是“4.0”。 gyp ERR! 堆栈错误: C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe失败,退出代码:1 gyp ERR! 在ChildProcess.onExit(C:\ Program Files \ nodejs \ node_modules \ npm \ node_modules \ node-gyp \ lib \ build.js:267:23) gyp ERR! 在ChildProcess.EventEmitter.emit(events.js:98:17) gyp ERR! 在Process.ChildProcess._handle.onexit(child_process.js:789:12) 使用Googlesearch,但没有运气。 这是一个全新的安装在Windows Server 2012.和ZMQ已经安装使用Windows MSI安装程序,但我想在nodejs下使用ZMQ所以做NPM。 我认为msbuild是失败的,因为节点假设版本2的.net框架,但安装.net版本是4.任何一个请指导我如何解决这个问题 – 谢谢 关于紫山

从ZeroMQcallback调用meteor插入/删除操作引发exception

在指定端口上接收到ZeroMQ消息时,以下Meteor代码段barfs。 但是,如果我更改remove find ,它工作正常。 insert操作也失败。 请注意,如果在callback之外运行, insert和remove成功,例如在pull.on部分的下方。 var Components = new Meteor.Collection("components"); function handle_message(msg) { console.log("pull on message" + msg); Components.remove(); } if (Meteor.isServer) { Meteor.startup(function () { var zmq = Meteor.require("zmq"); var pull = zmq.socket("pull"); pull.bind("tcp://127.0.0.1:7000", function(data) { console.log("Connection received from ZMQ"); }); pull.on('message', handle_message); }); } 例外是: W20130827-21:36:21.800(0)? (STDERR) packages/mongo-livedata.js:1640 W20130827-21:36:21.802(0)? (STDERR) throw […]

Python / Node ZeroRPC心跳错误

我试图从ZeroRPC 网站运行Python服务器/ node.js客户端HelloWorld示例。 所有相关的库似乎已经正确安装,但运行示例时,我得到的错误: { name: 'HeartbeatError', message: 'Lost remote after 10000ms', traceback: '' } 有没有人看过这个?

Node.js和zeroMQ请求和响应

我build立了两个Javascript文件,在zeroMQ和node.js中实现一个响应者和请求者。 一旦我开始他们,第一个发送所有请求,但第二个代码片段不接收它们。 我将它们绑定到相同的地址和端口。 是对的吗? 这是请求者: // Erstelle zeroMQ-Socket var zmq = require('zmq') var requester = zmq.socket('req'); // Request-Client verbindet sich mit TCP-Socket requester.connect('tcp://localhost:5000'); var replyNbr = 0; // Erhalte Nachricht auf Request requester.on('message', function(msg) { console.log('got reply', replyNbr, msg.toString()); replyNbr += 1; }); // Sende request an Server for (var i = 0; i < […]

我应该如何处理node.js中ZMQ的轮询?

我正在为node.js构build一个Paranoid Pirate。 从一些python代码开始: poller = zmq.Poller() liveness = HEARTBEAT_LIVENESS interval = INTERVAL_INIT heartbeat_at = time.time() + HEARTBEAT_INTERVAL worker = worker_socket(context, poller) cycles = 0 while True: socks = dict(poller.poll(HEARTBEAT_INTERVAL * 1000)) # Handle worker activity on backend if socks.get(worker) == zmq.POLLIN: # Get message # – 3-part envelope + content -> request # – 1-part […]

如何在Node.js中为zmq请求设置超时?

我已经写下了等待响应的代码。 如果5秒后没有得到响应,如何注册超时callback? var zmqRequest = zmq.socket('req'); zmqRequest.connect('tcp://localhost:8188'); zmqRequest.send(request.params.fileGuid); console.log('request sent ' + request.params.fileGuid); zmqRequest.on('message', function(msg){ // report back to the user… });

在ZMQ请求 – 回复模式中监听连接/连接事件

在ZMQ请求 – 回复模式的回复或“服务器”中,我想要听取请求者连接到我的回复/服务器。 我有这个代码: var zmqConfig = {…}; var replier = zmq.socket('rep'); var address = 'tcp://'.concat(zmqConfig.host).concat(':').concat(zmqConfig.port); replier.bind(address, function (err) { if (err) { } }); replier.on('message', function () { // this is firing }); replier.on('connect',function(){ // but this is NOT firing }); replier.on('connection',function(){ // neither is this }); 但是我的请求者的确在连接并向我的回复者发送消息,如下所示: var requester = zmq.socket('req'); requester.connect('tcp://…'); // […]

如何检测到ROUTER的REQ连接事件

我想要的是? 每当REQ连接requester.connect()调用该host:port , ROUTER应该检测到这个事件,并do something即在这种情况下, cluster.fork(); 我试过了: //Start Evented Child Node Processes alongwith a Request REQ Each router.on("accept", function funcCB (fileDesc, endPt) { //fire up a cluster fork for handling Requests console.log("starting a new FORK process"); cluster.fork(); }); 什么router.on(<event>)应该实际检测到 requester.connect() ?? 按照此处这些是可用于节点zmq的监视器事件: 这些是根据那里的文档触发的事件: connect – ZMQ_EVENT_CONNECTED connect_delay – ZMQ_EVENT_CONNECT_DELAYED connect_retry – ZMQ_EVENT_CONNECT_RETRIED listen – ZMQ_EVENT_LISTENING […]

为什么我的请求和响应消息不按顺序?

我正在通过一本教你了解Node.JS基础知识的书,并创build了几个程序 – 一个响应者和一个请求者。 回应者: "use strict"; const fs = require("fs"); const zmq = require("zmq"); const responder = zmq.socket("rep"); // Create socket to reply to client requests // Handle incoming requests responder.on("message", function(data) { // Parse incoming message let request = JSON.parse(data); console.log("Received request to get: " + request.path); // Read file and reply with content […]