【发布时间】:2014-08-28 14:49:33
【问题描述】:
我正在使用适用于 Node.js 的 Twit 库,我首先在此处创建传入推文流:
var stream = T.stream('statuses/filter', { locations: allLocations })
然后,使用 Socket.io,我将推文发送到每个连接的客户端,并在用户断开连接时记录:
io.on('connection', function(socket){
socket.on('disconnect', function() {
console.log("User disconnected!!!!!");
});
stream.on('tweet', function(tweet) {
// sends tweet to client in question:
socket.emit('info', tweet);
});
}
问题在于,即使在用户断开连接后,为他们准备的推文仍会继续被事件侦听器解析,并记录到控制台。当用户断开连接时,有没有办法“禁用”所有与套接字相关的事件侦听器?或者有没有更简洁的方法来处理流式推文的这种情况?
【问题讨论】:
-
为什么不在断开连接事件时销毁流?
-
@SalvadorDali - 需要为仍然连接的用户运行它