我有一個nodejs應用程序,它偵聽來自客戶端(python應用程序)的消息。 我用於通過zmq進行通信的模式是REQ/REP模式。 主應用程序應該從許多客戶端獲取消息。它不會回覆他們,只會收到消息。 問題是主應用程序只會獲得第一條消息,而下一條消息不會顯示在nodejs應用程序控制臺中。zeromq REP節點只會得到第一條消息(Req,Rep模式)
換句話說,每次我啓動nodejs應用程序,我只收到一條消息。
這裏是我的代碼:
應用的NodeJS
var responder = zmq.socket('rep');
responder.on('message', function(request) {
console.log(request);
//here, it seems this function will be called just once!
});
responder.bind('tcp://127.0.0.1:8000', function(err) {
if (err) {
console.log(err);
} else {
console.log('Listening on 8000...');
}
});
蟒(客戶端)部分:
socket = context.socket(zmq.REQ)
socket.connect("tcp://127.0.0.1:8000")
socket.send('blaaaa')
print 'message sent!'
蟒蛇部分是一個函數裏面。我可以看到「發送的消息!」的輸出在python控制檯(我的意思是很多'消息發送!')。 但我無法在nodejs app.just中看到消息,只有在nodejs的控制檯中看到第一條消息。