我目前正在处理服务器发送的事件,我的伪代码如下所示:
var listeners = [];
app.get('/stream', function (req, res) {
listeners.push({ req: req, res: res });
});
// ... something happens
notify(listeners);
现在这种方法非常精细,但我怎么知道客户端何时关闭浏览器窗口,以便最终我的内存不足?我是否必须管理此客户端,或者是否有一些我无法找到的req.on('close', fn);
?
提前致谢。 :)
答案 0 :(得分:1)
使用类似请求的close
event应该可以正常工作:
var listeners = [];
app.get('/stream', function (req, res) {
var listener = { req: req, res: res };
listeners.push(listener);
req.on('close', function() {
listeners.splice(listeners.indexOf(listener), 1);
});
});