Node.js response.write不会在连续请求中发送数据

时间:2018-12-10 16:46:58

标签: node.js http express

我有一个Node.js(Express)服务器。服务器正在侦听路由return this.props.renderAlternate(this); 的{​​{1}}请求。该服务器配置为使每个连接至少存活55秒。

我的客户端每10秒钟将POST请求发送到POST路由。由于每个新请求都会重新启动超时,因此通信在每个请求上都使用相同的连接。

问题在于客户端仅在第一个请求时才接收数据。服务器连续注册了每个连续的请求,但是/enddev似乎不起作用。

以下是一些代码:

/enddev

几行向下:

res.write

客户端收到响应“谢谢!”。只有一次。这是一些图片:

客户端控制台:(粉红色:客户端,黑色:服务器)

enter image description here

这是服务器控制台:

enter image description here

************* 编辑 *************

找到了解决方法,但仍然不明白为什么只能这样:

app.post("/enddev", (req, res) => {
  console.log("REQUEST TO ", req.route.path);
  console.log("Req Header ", req.headers);
  console.log("Body:", req.body);
  res.write("Thanks!");
});

作为参数server.on("connection", socket => { console.log( "New connection", "Address: " + socket.address().address, "Port: " + socket.address().port ); socket.setTimeout(55 * 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" ); }); }); 传递的新响应似乎无效或类似的东西。

0 个答案:

没有答案