dnode утечка памяти?

Я хочу проверить производительность 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)
    };
};

1 ответ

Решение

Исправлена ​​ошибка утечки памяти:

https://github.com/substack/dnode/issues/98

Другие вопросы по тегам