各位大神们,我想这样子封装一个网络连接,但在被拼命发包时进程内存涨到200M左右就崩掉了,是因为闭包的问题,还是Buffer拼接,还是因为一下子收到的数据包太多一次过用for处理,还是其他问题啊~~~ 我是一只小小小小鸟。。。。。。
var net = require('net');
function buildConnection(getPacks, buildPack) {
return function(sock) {
var self = this;
this.buf = new Buffer(0);
sock.on('data', function(data) {
self.buf = Buffer.concat([self.buf, data]);
var packs = getPacks(self);
for (var i = 0; i < packs.length; i++) {
// do something with pack
}
}
}
}
}
var Connection = buildConnection(aGetPacksfunction, aBuildPackfunction);
var server = net.createserver();
server.on('connection', function(sock) {
var conn = new Connection(sock);
});
server.listen(8000);