栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

大文件的事件循环?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

大文件的事件循环?

不,它不会被阻止。node.js将分块读取文件,然后将那些块发送到客户端。在大块之间,它将处理其他请求。

通过网络读取文件和发送数据是I /
O绑定的操作。首先,node.js将要求操作系统读取文件的一部分,而在操作系统执行该操作时,node.js将为另一个请求提供服务。当操作系统将数据返回到node.js时,node.js将告诉操作系统将数据发送到客户端。在发送数据时,node.js将处理另一个请求。

自己尝试:

创建一个大文件

dd if=/dev/zero of=file.dat bs=1G count=1

运行此node.js应用

var http = require('http');var fs = require('fs');var i = 1;http.createServer(function (request, response) {    console.log('starting #' + i++);    var stream = fs.createReadStream('file.dat', { bufferSize: 64 * 1024 });    stream.pipe(response);}).listen(8000);console.log('Server running at http://127.0.0.1:8000/');

请求

http://127.0.0.1:8000/
几次并观察node.js处理所有这些。

如果要提供大量大文件,则可能需要尝试使用不同的bufferSize值。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/368093.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号