【发布时间】:2015-06-12 08:20:41
【问题描述】:
我有一个小型 Node.js + express 服务器,它有一个虚拟下载方法:
app.get("/download",function(req,res) {
res.set('Content-Type', 'application/octet-stream');
res.set('Content-Length', 1000000000011);
res.set('Connection', 'keep-alive');
res.set('Content-Disposition', 'attachment; filename="file.zip"');
var interval = setInterval(function(){
res.write(00000000);
var dateStr = new Date().toISOString();
console.log(dateStr + " writing bits...");
},500);
});
问题是我关闭浏览器后仍然看到节点服务器正在传输数据。 如何检测客户端何时断开连接并停止流式传输?
我尝试使用:
req.on("close", function() {
console.log("client closed");
});
req.on('error', function(e) {
console.log('problem with request: ' + e.message);
});
但没有运气。任何帮助将不胜感激。
【问题讨论】:
-
挂钩
close事件对我有用,所以浏览器可能没有真的关闭连接?