Articles of nowjs

节点现在表示

我想在nodejs中重写一个完整的社区网站,并用mongodb表示和nowjs。 它目前在php中使用codeigniter框架。 它包括您自己的个人资料页面,相片,留言簿,内部消息,联系人等function。 即时通讯将添加一个即时消息和其他一些东西,如论坛等。 这是一个相当大的项目。 我必须决定在web应用程序中使用哪些技术。 所以我做了一些研究,发现了node,Expess和nowjs。 我应坚持完成在PHP(codeigniter),mysql和ajax的应用程序,或者我可以在express,mongodb和nowjs做到这一点? 任何人都可以推荐这个在现场制作网站上使用吗? 如果是这样,有什么安全问题应该知道? 一般准则? 帮助将非常感激,所以我可以下定决心,完成项目 问候 乔治

从web文件夹访问Now.js和express.js

我在哪里必须安装Now.js和express.js从Web文件夹访问它? 我的网页文件夹位于: /var/www/virtual/domain.com/htdocs ,我正在使用节点v.0.6.6 但是当我在根文件夹中安装now.js和“npm install now”时,我想运行我的server.js文件时出现错误: var html = require('fs').readFileSync(__dirname+'/index.html'); var server = require('http').createServer(function(req, res){ res.end(html); }); server.listen(8080); var nowjs = require("now"); var everyone = nowjs.initialize(server); everyone.now.distributeMessage = function(message){ everyone.now.receiveMessage(this.now.name, message); }; 错误:无法find模块“现在” 我需要在什么地方设置node_path吗? 或者我必须将now.js文件放到我的web文件夹中?

在Now.js中的会话支持

Now.js报价: 只需在nowjs.initialize中传递connect或express http服务器,并且this.user.session应该可用。 所以: express = require 'express' app = module.exports = express.createServer() connect = require 'connect' nowjs = require 'now' everyone = nowjs.initialize(app) 这个用户的输出是: { clientId: '353725111301231610', cookie: { 'connect.sid': 's0meC00k1e1nF0rm4ti0n' }, session: undefined } 任何想法为什么会议是不确定的?

使用node.js代理HTTP请求的价值

我最近开始开发一个多人游戏,将使用nowjs从服务器状态同步玩家状态。 我是服务器端开发的新手(我所说的很多事情可能被错误地说了),虽然我明白node.js是如何工作的,但我已经看到了通过另一种服务器技术来代理HTTP请求的讨论(一个拉NGINX或阿帕奇)效率。 我不明白为什么这样做会有好处,尽pipe我已经看到了很多关于如何这样做的解释。 我目前的计划是将游戏的网站和信息放在与游戏本身相同的服务器上,所以如果代理节点有任何收益,我很想知道为什么。

nowjs – 拒绝客户端连接

我有一个nowjs问题: 你如何拒绝连接事件的事件处理程序的客户端连接? 我想在客户端连接时检查服务器上的一些值,然后决定是否放弃连接或让他连接。 好吧,因为stackoverflow以某种方式认为我的问题是低于他们的质量标准,我会尝试添加代码示例… everyone.on('connect', function(){ if (!niceClient) { // do something to kick him out } }); 提前致谢!

NowJS在丢失连接后手动启动新的连接

我有一个情况,客户端连接到运行nowjs的node.js服务器并保持连接相当长的时间(大约30分钟)。 在一些浏览器上,尽pipe连接在一段时间后被丢弃,客户端断开连接。 我在客户端实现了一个断开处理程序,如下所示: now.core.on('disconnect', function () { // we should reconnect here, maybe after a short timeout }); 我不清楚的是如何触发重新连接。 这对于有经验的用户来说可能是显而易见的,但是我没有设法解决这个问题。 now.js脚本初始化页面加载之后,我可以使用now对象,但我无法弄清楚如何重复这个过程,而无需重新加载页面。 谢谢!

Node.jscallback混淆

我正在尝试使用nowjs在nodejs应用程序上实现一个自动完成器。 everyone.now.sendAutocomplete = function(search) { var response = getAutocomplete(search); console.log("response"); console.log(response); }; 其中呼吁: function getAutocomplete(search) { console.log(search); var artist = new Array(); request({uri: 'http://musicbrainz.org/ws/2/artist/?query=' + search + '&limit=4', headers: "Musicbrainz Application Version 1"}, function(error, response, body) { par.parseString(body, function(err, result) { var count = result['artist-list']['@']['count']; var artists = result['artist-list']['artist']; // var artist = new Array(); […]

规模SocketIO(NowJS)

我目前正在使用Linode来部署我的应用程序。 我有2个服务器,1个数据库服务器,前面有1个负载均衡器。 我使用Redis作为Database和NowJS来实现聊天室。 一切工作正常使用Pub / Sub。 现在,我想用集群来利用多核服务器。 但是,在应用群集时,我遇到了奇怪的情况。 有时,应用程序工作,有时不是约25%的工作,75%的工作(我跑了4个进程)。 因此,我可以认为集群导致nowJS无法正常工作。 现在,我必须做出决定 1.切换到SocketIO并使用RedisStore(对于SocketIO,我还可以使用pub / sub和RedisStore?还是完全切换到RedisStore) 2.忘记群集,如果需要添加更多的服务器(这是浪费资源,因为没有使用多个核心) P / s:我很抱歉我的英文不好,我不是本地人。

Socket.io通过XHR轮询不通过Cookie

我试图将Express(3.x)与NowJS(主要是围绕着Socket.io的封装)结合起来创build一个实时应用程序,首先需要你login。我确实是Node的新手,但是我有一个很好的处理每个包如何独立工作。 但是,从NowJS访问快速会话信息是给我适合的。 这个问题似乎是因为我不得不使用XHR-Polling(使用Heroku作为主机平台),所以我无法轻松访问Socket.io身份validation方法中的cookie信息。 在authFunction下面的代码中,“data.headers.cookie”是未定义的。 以一种迂回的方式(在Now.js代码中),这会在nowjs.on(“connect”,…)callback中留下“this.user.cookie”为空(但不是未定义的)。 这反过来让我无法抓住会议信息。 从阅读来看,似乎cookie只有在使用websocket时才可用。 没有cookie,我不知道哪个用户正在调用服务器,除了为它们生成的随机标识符。 任何人都可以build议如何处理这个? 在build立与Now.js服务器的连接后,是否需要手动从客户端发送cookie? var app = express(); app.configure(function(){ app.set('port', process.env.PORT || 3000); app.set('views', __dirname + '/views'); app.engine('html', consolidate.swig); app.set('view engine', 'html'); app.use(express.favicon()); app.use(express.logger('dev')); app.use(express.bodyParser()); app.use(express.methodOverride()); app.use(express.cookieParser()); app.use(express.session({ secret: "secrethere" , store: sessionStore})); app.use(express.static(path.join(__dirname, 'public'))); app.use(app.router); }); app.configure('development', function(){ app.use(express.errorHandler({dumpExceptions: true, showStack: true})); }); //Map the routes var routes […]

使用节点服务器与NowJS发送JavaScript文件

这个问题应该简单回答任何有Node经验的人 – 不幸的是我是一个极端的新手。 我正在编写一个棋盘游戏的Web应用程序,它将使用服务器 – 客户端体系结构来向所有客户显示对棋盘进行的实时更改。 该应用程序使用Raphael来显示graphics。 我已经创build了一个成功发送HTML文件以响应任何请求的服务器,但是该板不显示 – 只有没有任何Javascript的原始HTML出现。 我认为这是因为我已经编程服务器总是以HTML文件作出回应,我不知道如何发送JavaScript文件(client.js,raphael.js)到客户端,以便页面可以正确加载。 相关代码如下。 现在,我只是想让浏览器绘制一个Raphael元素,这样我就可以看到客户端正确地获取了加载页面所需的Javascript文件。 在服务器端: var fs = require('fs'); var server = require('http').createServer(function(req, response){ fs.readFile('index.html', function(err, data) { response.writeHead(200, {'Content-Type':'text/html'}); response.write(data); response.end(); }); }); 在客户端: $(document).ready(function(){ var R = Raphael("container", 1000, 700); this.R.path("M0,0l1000,700").attr({"stroke-width": "5"}); }); 您可以假定HTML文件格式正确,并包含所有JS文件的引用 – 我已经有一段时间没有服务器 – 客户端体系结构的应用程序运行良好。 另外,我使用的是NowJS,所以包含这个框架的任何解决scheme都会受到欢迎。 谢谢你的帮助!