Tag: 文件描述符

Node.js FIFO – 写入文件描述符时进程挂起

我有以下Node.js代码: var fs=require('fs'); var util=require('util'); var n2c=fs.createReadStream('./n2c'); var c2n=fs.createReadStream('./c2n'); n2c.on('data', function(b){ util.puts(b); }); c2n.on('data',function(b){ util.puts(b); }); 正如你所看到的,我有两个FIFO文件描述符(使用: mkfifo n2c , mkfifo c2n , chmod 777 n2c c2n ) 当我在另一个窗口中echo "Hello" > n2c时,“你好”出现了。 但是,当我尝试再次做到这一点, echo "Hello" > n2c挂起,没有什么出现在node.js窗口。 我该如何解决? 我希望能够在ad-infinitum的node.js窗口中回显“Hello”。 请帮忙!

使用websocket和nodejs时,文件描述符的编号会增加

我正在使用Websocket库ws npm在5001和nodejs为80端口通信。 我的问题是在一段时间内文件描述符的数量增加,导致更多的内存消耗。 以下是我的代码。 var SOCKETS = []; //Used for publish URL var app = https.createServer(options, function(req, response){ log.debug("connection:"+ req.url); var path = url.parse(req.url,true).pathname; log.debug('path:'+path); //response.writeHead(200,{ 'Content-Type': 'text/html' }); switch(path){ case '/push': client.send(user_message); response.writeHead(200,{ 'Content-Type': 'text/json' }); response.write(JSON.stringify({ 'userids': valid_users})); break; } // Send HTML headers and message response.end(''); }); app.listen(config.websocket_port); var WebSocketServer = require('ws').Server […]

如何stream入/从节点中的文件描述符?

fs.createReadStream()和fs.createWriteStream()只支持文件path,但是我需要从文件描述符(从subprocess传入/从subprocess)读取(或写入)。 注意我需要Streams,所以fs.open/fs.read/fs.write是不够的。

Node.js:EBADF,错误的文件描述符

如果我重新加载我的应用程序(从浏览器与重新加载button)很多次像50 reload/10 seconds它给了我这个错误: events.js:45 throw arguments[1]; // Unhandled 'error' event ^ Error: EBADF, Bad file descriptor 这在我看来像是一个带宽错误或类似的东西,原来我有错误,当我玩HTML 5audioAPI,如果我加载audio文件10-15次顺序,然后我得到了错误,但是现在我发现,如果没有Audio API,只要重新加载网站很多次,我也会得到这个错误,Safari也会给我提供比C​​hrome更快的错误(WTF?) 我正在使用Node.js 0.4.8 express + jade并且还使用db-mysql模块连接到MySQL数据库。 我找不到任何关于这个主题的文章有什么帮助,所以请让我知道什么可以导致这个错误,因为它真的很困惑:(

如何检查node.js中打开连接的数量?

我有一台机器使用tcp服务器(tcp.createServer)和http服务器(http.createServer)运行node.js(v0.1.32)。 HTTP服务器被来自基于彗星的应用程序在端口80上的长轮询请求(每个持续50秒)命中。并且为了相同的目的,在iphone应用程序的端口8080上存在tcp套接字连接。 发现服务器无法处理更多的连接(特别是TCP连接,而http连接看起来不错!!)一段时间,只有重新启动后才正常。 对于负载testing连接,我创build了一个tcp服务器,并产生了2000个请求,并指出在达到机器上的最大文件描述符限制(缺省为1024)之后,连接开始失败。 这是一个非常小的数字。 所以,这里有一个新手问题:如何扩展我的应用程序以处理node.js上更多的连接,以及如何处理这个问题。 有没有办法找出目前有多less活动连接? 感谢Sharief