【发布时间】:2015-05-09 06:20:37
【问题描述】:
在我的浏览器中,我显示了很多拇指。如果拇指不可见(在视口之外),我将 src 设置为 ''(空字符串)。当它在视口中时,我设置了正确的 src。
如果用户使用他的滚动条,则浏览器取消尚未下载的拇指的下载。
但是在服务器端,一些请求变成了“僵尸”并且可以填满套接字池(maxSockets)。超时后,服务器将终止这些套接字,并重新启动一堆未下载的拇指。
所以我需要检测到请求被浏览器取消以结束响应。我尝试了很多事件,但没有结果。
function(req, res) {
var stream;
stream = getThumb(req.file.binary.thumb);
req.on('close', function() {
return console.log("reQ.on close");
});
req.connection.on('close', function() {
return console.log('reQ.connection.on close');
});
req.on('end', function() {
return console.log('reQ.on end');
});
res.on('close', function() {
return console.log("reS.on close");
});
res.connection.on('close', function() {
return console.log('reS.connection.on close');
});
res.on('end', function() {
return console.log('reS.on end');
});
stream.on('close', function() {
return console.log('stream.on close');
});
return stream.pipe(res);
};
要听什么事件?
注意:我使用的是 express,但应该没有区别。
干杯!
【问题讨论】: