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)
};
};