Articles of 彗星

node.js + socket.io示例:客户端连接但客户端到服务器的socket.send()失败

服务器代码 var http = require('http'), io = require('socket.io'), fs = require('fs'); respcont = fs.readFileSync('socketio.client.js'); server = http.createServer(function(req, res){ // your normal server code res.writeHead(200, {'Content-Type': 'text/html'}); res.end(respcont); }); server.listen(8080); // socket.io var socket = io.listen(server); socket.on('connection', function(client){ // new client is here! client.on('message', function(){ console.log('message arrived'); }) client.on('disconnect', function(){ console.log('disconnected'); }) }); 客户端代码 <html> <body> […]

自定义时间间隔后自动更新页面内容的最佳方法是什么?

我正在使用Web应用程序,其中有一个DIV,其中显示来自其他某个网站的最新主题更新。 所以我想要的是在数据真正更新后端数据库时更新DIV。 在后端我使用cron来获取和存储数据库中的数据。 这样做的一个简单的方法是使用setInterval()函数并持续以特定的时间间隔获取数据,但我认为这只会导致服务器上不必要的负载,并浪费CPU周期。 那么实现这个的最好方法是什么? 可以/我应该使用nodeJs吗? -谢谢 PS我只是想像Facebook使用更新它的新闻饲料在页面中间。 而且我还没有使用nodeJs的经验,所以我真的不知道nodeJs是否适合这个。

Google Wave使用哪种服务器端解决scheme?

我不知道Google用于Google Wave的服务器端解决scheme。 我听说他们为此使用了Node.js。 真的吗? 还是他们使用其他非开源解决scheme?

Socket.io:为什么htmlfile首选XHR轮询?

基于socket.io 0.9.10默认configuration1 , htmlfile优先于xhr-polling 。 我有这个想法,即xhr-polling (又名长池)是不支持的websockets的自然select。 如果我将htmlfile在列表中,它将成为htmlfile和9的选定传输。 我的分钟请求是IE7 +,所以我应该删除htmlfile ? 我在IE7和9上testing了xhr-polling ,它工作正常。 这是为什么?

实时轮询技术

我现在正在查看Facebook新闻提要/股票代码,我想知道当我的任何连接进行更新时,它使用什么技术/体系结构来asynchronous提取数据。 我能想到的一个可能性是一个函数上的javascript setInterval ,它积极地为服务器轮询新数据。 我不知道这是多高效。 我能想到的另一种可能的技术就是Comet / NodeJS体系结构,它在服务器上进行更新时会ping客户机。 我对这个技术不太熟悉。 如果我想创造类似的东西。 我应该看什么? 第一种方法是这样做的首选方法? 那里有哪些技术可以让我做到这一点?

什么是当今最先进和可靠的COMET解决scheme?

问题 :每天需要向networking用户提供数百万次的实时通知。 要求: 可扩展性 跨域请求没有代理。 (XHR轮询将不起作用) 跨浏览器支持。 (不能只依靠websockets或flash socket) 经过良好testing和维护的组件 到目前为止,我已经想出了一些解决scheme,有很多限制: RabbitMQ + node.js + Socket.IO 到目前为止,这是我最喜欢的解决scheme,但是当涉及到大量的请求时,有人抱怨node.js部分的可靠性。 plurk.com的体验http://amix.dk/blog/post/19577 XMPP / BOSH + strophe.js 这也看起来可靠,但由于BOSH的限制,JSONP轮询是不可能的,因此 – 没有跨域请求。 Mochiweb + Dojo 据称Facebook使用Mochiweb作为他们的聊天系统(这很吸引人)。 似乎设置和维护过于复杂。 我错了吗? JBoss Netty Java服务器。 这是plurk.com用来提供通知的地方。 目前还不清楚在浏览器端可以使用什么。 Faye + node.js 非常容易设置,但似乎它不适用于重载,没有testing,并没有明确的方法来扩展。 任何想法或经验? 🙂

我怎样才能实时检索更新的logging? (推送通知?)

我正在尝试在rails电子商务应用程序中创build一个ruby,在这个应用程序中,潜在客户将能够下订单,店主将能够实时接收订单。 最终订单将被logging到数据库中(目前SQLite),并且店主将打开一个浏览器窗口,新订单将在订单完成后立即显示。 (应用程序信息:我正在使用HOBO rails框架,并计划在Heroku中托pipe应用程序) 我现在正在考虑实现这个最好的技术,因为应用程序预计会有很多用户发送大量的命令: 1)每个浏览器窗口每隔X分钟刷新页面,连续轮询服务器以获取新logging(新订单)。 当然,这会给服务器带来沉重的负担。 2)如上所述,但用某种AJAX框架轮询服务器。 3)使用某种服务器推送技术,如“彗星”asynchronous消息。 发现Juggernaut,唯一的问题是它使用Flash和自定义端口,这可能是一个问题,因为我的应用程序应该可以在公司防火墙和NAT后面访问。 4)我也检查node.js框架,似乎是这种asynchronous消息传递的效率,虽然在Heroku中不支持。 哪种是实现这种function的最有效的方法? 还有没有想过的另一种方法? 感谢您的时间和帮助!

Node.js和Comet

基本上,我试图从零开始使用node.js来build立一个基本的comet服务器和客户端。 一个试图谷歌关于这个过程的事情,它应该工作,当我testing它似乎工作正常。 然而,一个问题仍然在我的脑海。 首先我想告诉你的代码。 var http = require('http'); var sys = require('sys'); var fs = require('fs'); var qs = require('querystring'); var server = http.createServer(); var connections = []; server.on('request', function(req, res) { console.log(req.url); if(req.url == '/index') { fs.readFile(__dirname + '/index.html', function(err, data){ if(err) { res.writeHead(err, data); return res.end('Error loading index.html'); } res.writeHead(200); res.end(data); }); } […]

NodeJS + socket.io:简单的客户端/服务器示例不起作用

我正在使用NodeJS v0.4.8和最新版本的socket.io npm安装socket.io 在Ubuntu上: Linux mars 2.6.38-8-generic#42-Ubuntu SMP Mon Apr 11 03:31:50 UTC 2011 i686 i686 i386 GNU / Linux 不幸的是,下面的代码不会在客户端和服务器端产生任何输出。 有人有线索吗? 服务器端 var http = require('http'), io = require('socket.io'), fs = require('fs'), sys = require('sys'); respcont = fs.readFileSync('testclient.js'); server = http.createServer(function(req, res){ res.writeHead(200, {'Content-Type': 'text/html'}); res.end(respcont); }); server.listen(8082); var socket = io.listen(server); socket.on('connection', function(client){ […]

我应该在node.js中fork多less个child_processes()?

我的问题很简单。 虽然,它可能需要不同的variables来回答(我猜) 我正在玩node.js,我正在考虑如何在多核架构中使用它。 最新版本为多进程编程提供了child_process.fork()和child.spawn()方法。 我已经阅读了关于使用Node.js作为大型Comet服务器的非常好的(但过时的)文章。 现在,然后nodejs提供了多进程编程,我真的不知道应该产生多less进程来服务大量的请求(假设我的服务器只运行在一台机器上)。 有没有办法select做同样工作的“最好” (或者至less是好的 )数量的subprocess? 任何链接到首发指南将非常感激。 谢谢