我正在构建一个简单的 HTTP 服务器,它使用流向客户端提供相当大的文件。我需要同时为多个客户提供服务,我想知道实现这一目标的最简单方法是什么。
我最初的感觉是使用cluster
模块并分叉 {num CPUs} 个进程可能是最简单的方法。
var StreamBrake = require('streambrake');
var http = require('http');
var fs = require('fs');
var server = http.createServer(function(req, res) {
var stream = fs.createReadStream('/data/somefile');
stream.pipe(new StreamBrake(10240)).pipe(res);
});
server.listen(1234, 10);
编辑:为了澄清,问题是此代码在完成为第一个客户端提供服务之前不会开始为第二个客户端提供服务。