Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js zmq nodejs模块推拉操作不正常。订户未正确接收消息_Node.js_Sockets_Zeromq - Fatal编程技术网

Node.js zmq nodejs模块推拉操作不正常。订户未正确接收消息

Node.js zmq nodejs模块推拉操作不正常。订户未正确接收消息,node.js,sockets,zeromq,Node.js,Sockets,Zeromq,我在nodejs中有一个zmq发布者和订户代码。我的问题是,有时我的订户没有收到任何消息。下面是我的代码 出版商: var zmq = require('zmq'), socket = zmq.socket('push'), socket.bind(publisherUrl, function (err) { if (err) { console.log(err); } else { console.log("Listening on ..." + publisherUrl)

我在nodejs中有一个zmq发布者和订户代码。我的问题是,有时我的订户没有收到任何消息。下面是我的代码

出版商:

var zmq = require('zmq'),

socket = zmq.socket('push'),
socket.bind(publisherUrl, function (err) {
if (err) {
    console.log(err);
}
else {
    console.log("Listening on ..." + publisherUrl)
}
}))

订户:

var zmq = require('zmq'),
events = require('events'),
subscriber = zmq.socket('pull');

subscriber.on("message", function (reply) {
if (reply.toString() !== '{}'){
console.log("info", 'Received message:' + reply.toString());
}
})
subscriber.connect(publisherUrl)

它有时工作正常,但在某些情况下无法接收消息。我被困在这里,任何关于这方面的帮助都会非常有用。

您的出版商应该是这样的:

var zmq = require('zmq')
var publisher = zmq.socket('pub')

publisher.bind('tcp://*:8688', function(err) {
    if(err)
        console.log(err)
    else
        console.log("Listening on 8688...")
})

for (var i=1 ; i<10 ; i++)
    setTimeout(function() {
        console.log('sent');
        publisher.send("Hello there!")
}, 1000 * i)

process.on('SIGINT', function() {
    publisher.close()
    console.log('\nClosed')
})
var zmq = require('zmq')
var subscriber = zmq.socket('sub')

subscriber.on("message", function(reply) {
    console.log('Received message: ', reply.toString());
})

subscriber.connect("tcp://localhost:8688")
subscriber.subscribe("")

process.on('SIGINT', function() {
    subscriber.close()
    console.log('\nClosed')
})
资料来源:

var zmq = require('zmq')
var subscriber = zmq.socket('sub')

subscriber.on("message", function(reply) {
    console.log('Received message: ', reply.toString());
})

subscriber.connect("tcp://localhost:8688")
subscriber.subscribe("")

process.on('SIGINT', function() {
    subscriber.close()
    console.log('\nClosed')
})