我有一个Node.js(Express)服务器。服务器正在侦听路由return this.props.renderAlternate(this);
的{{1}}请求。该服务器配置为使每个连接至少存活55秒。
我的客户端每10秒钟将POST请求发送到POST
路由。由于每个新请求都会重新启动超时,因此通信在每个请求上都使用相同的连接。
问题在于客户端仅在第一个请求时才接收数据。服务器连续注册了每个连续的请求,但是/enddev
似乎不起作用。
以下是一些代码:
/enddev
几行向下:
res.write
客户端收到响应“谢谢!”。只有一次。这是一些图片:
客户端控制台:(粉红色:客户端,黑色:服务器)
这是服务器控制台:
************* 编辑 *************
找到了解决方法,但仍然不明白为什么只能这样:
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"
);
});
});
传递的新响应似乎无效或类似的东西。