У меня есть приложение node.js с простым респондентом zeroMQ, которое прослушивает порт 5555 и выводит сообщение, которое оно получает обратно отправителю.
Я пытаюсь проверить, что слушатель получаетсообщения, но либо 1) netcat не может правильно отправить стандартный ввод, который следует после установления соединения
ИЛИ 2) слушатель не получает сообщения?
вывод терминала: (стандартный ввод начинается после странного символа - -- также не уверен, почему netcat выводит это после подключения)
$ nc -vv localhost 5555
nc: connectx to localhost port 5555 (tcp) failed: Connection refused
found 0 associations
found 1 connections:
1: flags=82<CONNECTED,PREFERRED>
outif lo0
src 127.0.0.1 port 53852
dst 127.0.0.1 port 5555
rank info not available
TCP aux info available
Connection to localhost port 5555 [tcp/personal-agent] succeeded!
�"hello"
"asdjkflasd"
app.js:
const zmq = require('zeromq');
// ==================== zeromq response ====================
// socket to talk to clients
var responder = zmq.socket('rep');
responder.on('message', function(request) {
console.log(request);
console.log("Received request: [", request.toString(), "]");
// do some 'work'
setTimeout(function() {
// send reply back to client.
responder.send(request.toString());
}, 1000);
});
responder.bind('tcp://127.0.0.1:5555', function(err) {
if (err) {
console.log(err);
} else {
console.log("Listening on 5555…");
}
});
process.on('SIGINT', function() {
responder.close();
});