тестирование TCP-сокета zeroMQ с помощью netcat в приложении nodejs - PullRequest
0 голосов
/ 29 ноября 2018

У меня есть приложение 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();
});
...