我想测试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)
};
};