我的 js 多人游戏存在内存泄漏问题。当客户端连接到服务器时,我绑定(bind)了很多回调。我的问题是在从玩家表中删除套接字之前我是否必须取消绑定(bind)回调?
这是我的示例回调:
Player.prototype.viewPortListenerInit = function(){
var self = this;
this.socket.on('clientViewPortResize', function(data){
self.clientViewPort = data;
});
};
这里是将玩家添加到玩家列表/哈希集中:
this.list[socket.id] = new Player(socket);
这里是删除:
socket.on('disconnect', function(){
delete this.list[socket.id]
});
最佳答案
当没有对实例 EventEmitter
的引用(如套接字)时,它会通过其回调进行垃圾回收。
关于javascript - 删除套接字前是否需要解除绑定(bind)回调?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41349079/