【问题标题】:dnode memory leak?dnode内存泄漏?
【发布时间】:2012-05-25 06:50:47
【问题描述】:

我想测试dnode的性能,所以我尝试从客户端发送一个字符串到服务器,服务器用相同的字符串回调客户端。 服务器的内存使用量一直在增加,服务器在 691 调用后崩溃。 是我的javascript代码错误吗?有什么想法可以解决这个问题吗?非常感谢!

客户:

// client:  
var DNode = require('dnode');  
var sys = require('sys');  

DNode(function () {
    this.clientCall = function() {
        sys.puts("... client call!");
    };
}).connect("192.168.1.201", 6060, {reconnect:1000}, function (remote, con) {  
    sys.puts("server Connected!");

    var cnt = 0;

    var str = '';
    for(var i=0; i<1024 * 1024; ++i)
    {
        str += 'a';
    }

    function func2() {
        remote.func1(str, function(str) {
            cnt ++;
            sys.puts("" + cnt + ": " + str.length);
            if(cnt < 1000)
            {
                process.nextTick(function () {
                    func2();
                });
            }
        });
    }

    process.nextTick(function () {
        func2();
    });

});  

sys.puts("Client running!")

服务器:

// server:  
var DNode = require('dnode');  
      var sys = require('sys'); 

var server = DNode(ChatServer).listen(6060);

function ChatServer (client, con) {
    var cnt=0;

    this.func1 = function (str, f) {cnt++;
        sys.puts(cnt);
        f(str)
    };
};

【问题讨论】:

    标签: memory memory-leaks dnode


    【解决方案1】:

    内存泄露的bug修复了,太好了:

    https://github.com/substack/dnode/issues/98#issuecomment-6524256

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-10-08
      • 2013-01-20
      • 2011-10-31
      • 2019-08-10
      • 2013-06-24
      • 2011-03-22
      • 2015-04-20
      相关资源
      最近更新 更多