Socket.io 1.2.1(及更早版本)严重的内存泄漏

时间:2014-12-09 06:58:58

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

我有一个非常简单的socket.io服务器设置。我的需求是能够通过套接字在服务器和客户端之间进行通信,但始终采用一对一模式。 因此,我在客户端上创建了一些简单的东西:

    var socket = io();
    socket.on('connect',function(){
        socket.emit('connected', UserName);
    });

而不是在服务器上:

  io.on('connection', function (socket) {

    socket.on('connected', function (userName) {
       if (userName !== null) {
         socket.join("RoomFor:"+ userName);
        }
    });
  });

因此,每个用户都有自己的房间,我现在可以与之通信,我可以使用我的应用程序userName(而不是套接字ID)来执行此操作。

现在,在同一个套接字IO服务器上,我也有明确的倾听,如下所示:

app.get('/notify', function(req, res) {
  var data = querystring.parse(req.url.split('?')[1]);
  var userName = data.clientId;
  io.sockets.to('RoomFor:'+ userName).emit('notice', {event: data.event });
  res.writeHead(returnCode, {'Content-Type': 'text/plain'});
  res.end();
});

所以,一个非常简单的服务器端信令解决方案。

然而,这个设置中的某些内容正在泄漏,我已经创建了heapdumps并试图比较结果,但无法从中得出任何结果。

有什么想法吗?

(顺便说一下,我查看了与node + socket.io内存泄漏相关的所有线程,没有我的情况......我不使用redis存储,我运行的是最新的节点和套接字。 io版本。)

0 个答案:

没有答案