Articles of evented io

这个Socket.IO代码是否创build一个阻塞的连接?

编写Node.js代码的一般规则是所有的代码都应该是非阻塞的,并且通过事件进行通信。 我想知道这个代码是用Node.js写的Socket.IO库创build一个阻塞的连接,还是遵循一般的Node.js规则? sio.sockets.on('connection', function (socket) { socket.on('message', function (msg) { console.log("Received message"+message); }); socket.on('cookie', function (msg) { console.log("Cookie Received"); console.log(msg); }); this.send('hello'); socket.on('disconnect', function (){ console.log('Disconnected'); }); }); 将不胜感激任何帮助。

Node.js提供了一个无所作为的效率?

我听到一个演讲者将Node.js描述为“无效”的networking服务器。 我以为这是一个笑话,但其他人则表示同意。 有人能解释我对这句话的误解吗?

如何检查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

Node.js事件循环如何工作?

在玩了Node.js并阅读了很多关于asynchronousI / O和编程的事情之后,我留下了一些问号。 考虑以下(伪)代码: var http = require('http'); function onRequest(request, response) { // some non-blocking db query query('SELECT name FROM users WHERE key=req.params['key']', function (err, results, fields) { if (err) { throw err; } username = results[0]; }); // some non-blocking db query query('SELECT name FROM events WHERE key=req.params['key']', function (err, results, fields) { if […]

除了可伸缩性之外,使用node.js有哪些架构原因?

我所读到的关于为什么要使用node.js的最常见的主题是高可扩展性,因为它是平坦的,非阻塞的I / O模型。 我试图了解其他不可扩展性的用例(除了被用作通用的服务器端JavaScript引擎)。 如果可扩展性不是我的问题,node.js是否还有其他用例? 如果对#1是,他们是什么? node.js用法是否适用于任何特定types的应用程序体系结构? 例如类似于一些键/值(nosql – 呃我讨厌这个词)数据库是有用的除了可伸缩性的原因。