res.end () закрывает соединение раньше, чем время ожидания указывает - PullRequest
0 голосов
/ 13 декабря 2018

Я стараюсь держать соединение открытым после res.end(), но безуспешно.

Вот код:

app.post("/enddev", (req, res) => {
  console.log("REQUEST TO ", req.route.path);
  console.log("Req Header ", req.headers);
  socket = res.socket;
  socket.setKeepAlive(true, 60 * 1000);
  var count = 0;
  setInterval(() => {
    console.log(++count);
  }, 1000);
  res.write("request\r\n");
  res.end();
});

server.on("connection", socket => {
  console.log(
    "New connection",
    "Address: " + socket.address().address,
    "Port: " + socket.address().port
  );

  socket.setTimeout(60 * 1000);
  socket.on("timeout", () => {
    console.log("socket timeout");
    socket.end();
  });

  socket.on("close", hadError => {
    console.log(
      hadError
        ? "Socket closed due to ERROR during transmission"
        : "Socket closed"
    );
  });
});

Я немного погуглил и обнаружил, что res.end не должен закрывать соединение.

Вот вывод консоли после того, как я попробовал:

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...