8
有沒有一種方式來設置模式或連接的值或表示 模擬慢速文件上傳?Expressjs/connect - 模擬緩慢文件上傳
有沒有一種方式來設置模式或連接的值或表示 模擬慢速文件上傳?Expressjs/connect - 模擬緩慢文件上傳
首先,安裝node-limiter
然後創建一個Transform
流,將油門任何Stream
S:
var util = require('util');
var Transform = require('stream').Transform;
var TokenBucket = require('limiter').TokenBucket;
function BucketStream(rate, interval, parentBucket, options) {
Transform.call(this, options);
this.bucket = new TokenBucket(Number.POSITIVE_INFINITY, rate, interval, parentBucket);
}
util.inherits(BucketStream, Transform);
BucketStream.prototype._transform = function(chunk, encoding, callback) {
this.bucket.removeTokens(chunk.length, function(err) {
callback(err, chunk);
});
};
然後該請求是ReadableStream
:
var bucketStream = new BucketStream(1024 * 500, 'second'); // 500KB/sec
req.pipe(bucketStream);
現在從bucketStream
讀取(而不是從REQ)只要你想,你只會得到500KB /秒
我沒有t他對我的頭頂上,所以要小心:)
這已被問在此之前:http://stackoverflow.com/questions/5999882/how-would-i-limit-upload-speed-from-the-server-在節點-JS –