Socket.io和Internet Explorer 9中的内存泄漏

时间:2013-12-13 17:31:45

标签: javascript node.js memory-leaks internet-explorer-9 socket.io

我正在使用socket.io编写一个应用程序来向连接的浏览器发送数据,并且特别发现了IE9的问题。 IE8可以很好地处理这个问题,IE 10和其他浏览器也可以很好地管理这个,除了firefox之外它是垃圾清理但允许内存在到达它之前增长很多。但随着IE 9内存的增长和增长,直到系统内存不足。我的测试用例非常基础,如下:

使用socket.io的节点应用程序运行以下代码:

setInterval(function(){
    socket.emit('test', 'Hello I am a memory leak in IE9');  
},10);

客户端代码如下:

socket.on('test', function(data) {
    data = null;
});

以10毫秒的间隔运行只是为了显示这一点,另一种方法是发送一个非常大的字符串。无论哪种方式,只有IE9才会泄漏。我已经在socket.io flashsocket上使用IE8和IE9测试并使用长轮询,IE9在两个实例中都有泄漏,IE8没有。

我知道有人会对不使用IE< 10,遗憾的是,这是项目的要求。

我的问题是,这是Socket.io的某种问题,还是IE9的问题?我可以在代码中做些什么来减轻内存泄漏或初始化更好的GC?

0 个答案:

没有答案