Articles of 连接

Node.js:照顾多个会话

我正在研究一个非常简单的Node.js服务器。 用户通过一个普通的用户名/密码的forms进行authentication,服务器 – 检查数据库后 – 授予或拒绝访问其他页面。 要跟踪每个用户在做什么,我将生成一个UUIDlogin发送。 当客户端询问或发送任何东西给服务器时,它将包含这个UUID,以便服务器知道谁是用户。 这些问题是关于这些UUID的生命周期的: 当我必须从我的本地数组中删除UUID? 也就是说,当用户“断开连接”,我想如果它明确注销或超时不活动。 如果他将智能手机暂时搁置一下,我不想断开连接。 如果用户在会话还活着的时候重新加载页面,我想避免一个新的login:我需要一种方法来了解来自同一用户的连接。 你将如何实现这一目标?

如何获得使用手柄的Flash消息?

我正在尝试使用我的车把模板闪存工作,但它不工作。 我如何显示消息 if(!user)return done(null,false,{message:'No user found'}) 和 return done(null,false,{message:'Oops!Wrong password。'}) 在警报框? 已安装的软件包:express,connect-flash,express-handlebars,护照,本地护照,express-session,connect-mongo app.use(flash()) passport.use(new LocalStrategy(function(username, password, done) { User.findOne({ username: username }, function(err, user) { if (err) return done(err) if (!user) return done(null, false, { message: 'No user found'}) user.comparePassword(password, function(err, isMatch) { if (isMatch) { return done(null, user) } else { return done(null, false, […]

冻结connect-redis会话销毁?

我在node.js中实现了一个身份validation系统,这个身份validation系统由一个redis数据库为用户提供支持,而connect-redis为持久的,可伸缩的会话存储提供支持。 这是我的应用程序,服务器的核心: // Module Dependencies var express = require('express'); var redis = require('redis'); var client = redis.createClient(); var RedisStore = require('connect-redis')(express); var crypto = require('crypto'); var app = module.exports = express.createServer(); // Configuration app.configure(function(){ app.set('views', __dirname + '/views'); app.set('view engine', 'jade'); app.use(express.bodyParser()); app.use(express.methodOverride()); app.use(express.cookieParser()); app.use(express.session({ secret: 'obqc487yusyfcbjgahkwfet73asdlkfyuga9r3a4', store: new RedisStore })); app.use(require('stylus').middleware({ src: __dirname + […]

NodeJS / ExpressJS:在生产中提供单个连接的JS文件

我正在处理大量的单个JS文件,如下所示: <script defer src="/js/libs/jquery.min.js"></script> <script defer src="/js/libs/plugins.js"></script> <!– application core –> <script defer src="/js/application.js"></script> <!– modules –> <script defer src="/js/modules/router.js"></script> <script defer src="/js/modules/feed.js"></script> <script defer src="/js/modules/files.js"></script> <script defer src="/js/modules/members.js"></script> <script defer src="/js/modules/sharebar.js"></script> <script defer src="/js/modules/utils.js"></script> 在生产中,我使用connect-assetmanager将所有这些文件连接成一个script.js 。 我怎样才能dynamic改变我的网站layout.jade服务这样的单个JS文件? <script defer src="/js/script.js"></script>

强大的Express 500 TypeError:不能调用未定义的方法'complete'

我试图用NodeJS上传文件,我尝试了最常见的多部分库,但不能得到它的工作。 当我发送文件,我没有得到任何东西只是一个不存在的方法称为完整的500错误。 我尝试了一个类似的模块,它工作得很好。 有可能有一些变种崩溃? 我做了一些console.log,util,我没有得到任何可变的forms。 这是一段代码。 如果你有什么好的想法来解决这个问题,你需要更多的代码,随时提问! var express = require('express'); var form = require('formidable'); var app = module.exports = express.createServer( express.favicon() , express.bodyParser() , express.cookieParser() , express.session({secret: 'topsecret'}) , everyauth.middleware() , express.router(routes) ); app.configure(function(){ app.use(express.bodyParser()); app.use(express.cookieParser()); app.use(express.session({secret: "aiudhasiudj12" })); app.use(everyauth.middleware()); app.use(app.router); app.set('view engine', 'jade'); app.use('views', __dirname + '/views'); app.use(express.static(__dirname + '/public')); app.use(express.errorHandler({ dumpExceptions: true, […]

nodejs中是否有一种“Socket连接池”?

为了避免花费在创build套接字上的时间。 我的节点服务器需要一些“长连接”(TCP Socket)与在后台运行的C编写的服务器保持通信,并且所有'http请求'都可以共享池中的TCP套接字。 我不知道在nodejs中是否有一种套接字池实现? (类似于数据库连接池) 任何帮助将不胜感激 !

我如何添加更多的参数到我的function?

我正在使用NodeJS,expression和护照。 不过,我认为这个问题只是关于JavaScript。 在我的路线文件中,我有 app.get( '/users', login_req, user.index); 所以当服务器在/ users接收到一个get请求时,它将通过login_req函数传递req, res, next如果授权用户,login_req将调用user.index函数。 我想知道如何以及如何添加更多的参数login_req? 我的目标是能够通过login_req(['admin'],['user1', 'user2'])等附加参数来select哪些用户可以访问user.index。 这是我的login_req代码: exports.login_req = function(req, res, next) { if (req.isAuthenticated()) { return next(); } res.redirect('/login') } 我想,一般来说,我想知道如何将更多的参数附加到callback。

有人可以解释一个函数从howtonode包装成语吗?

我最近开始使用node.js,express&mongodb。 由于快递使用连接提供中间件支持,我开始阅读中间件和连接。 我在howtonode.org上遇到了下面的例子: return function logItHandle(req, res, next) { var writeHead = res.writeHead; // Store the original function counter++; // Log the incoming request console.log("Request " + counter + " " + req.method + " " + req.url); // Wrap writeHead to hook into the exit path through the layers. res.writeHead = function (code, headers) […]

如何安装连接作为可执行文件使用bash

我已经通过npm安装了连接,但无法访问它的可执行文件,我该如何安装它? $ node -v v0.4.7 $ npm -v 1.0.6 $ express -v 2.3.4 $ connect -v -bash: connect: command not found 更新 我已经将它添加到$PATH : $ npm link connect ../../node_modules/connect -> /Users/Alfred/local/lib/node_modules/connect export PATH=$HOME/local/lib/node_modules/connect:$PATH' >> ~/.bash_profile $PATH -bash: /Users/Alfred/.rvm/gems/ruby-1.9.2-p0/bin:/Users/Alfred/.rvm/gems/ruby-1.9.2- p0@global/bin:/Users/Alfred/.rvm/rubies/ruby-1.9.2p0/bin:/Users/Alfred/.rvm/bin:/Users /Alfred/local/lib/node_modules/connect:/Users/Alfred/local/bin:/usr/bin:/bin:/usr/sbin: /sbin:/usr/local/bin:/usr/local/lib:/usr/local/git/bin:/ usr/X11/bin: No such file or directory 但它仍然不工作…

值得重新使用一个nodeJS服务器来使用连接(主要为everyauth)?

在过去的6个月里,我一直在研究自己的nodeJS应用程序,我从头开始构build所有的东西。 我的服务器只有几件事情,因为我的应用程序中的大部分工作都是在前端完成的。 我目前正在执行的一件事是用户login+应用程序的Facebook身份validation系统。 似乎每个authentication都比这里的其他任何东西都更加健壮。 但是,您需要有Express或Connect来使用它。 因此,我正在考虑重新编写我的代码来使用ConnectJS(主要是)这个目的。 也就是说,我真的很喜欢有一个非常简单的服务器,只做它需要做的事情,除此之外没有任何事情。 是否有任何其他authentication模块像每个authentication一样健壮,不需要任何人推荐的连接? 对于那些使用Connect的人来说,它提供的其他function有多方便? 是否值得gzipping服务器将返回的数据? 静态文件服务器是否比同样的东西的普通nodejs代码更快或者不同? 我现在非常忙碌,希望有经验的编程nodejs应用程序,无论有没有连接的任何想法。 最好, 萨米 AMMENDMENT – 如果我的服务器收到的每个请求都会涉及使用node-mongodb-native驱动程序连接到MongoDB,那么这是否会改变什么? 我有点困惑,我是否基本上可以将我已经编写的代码作为一个模块,作为我可以添加的一个中间件项目来连接。 如果这句话表明我对连接有什么误解,我很感激任何澄清。