Articles of 保持活动

带保持活动标头的Node.js https.request

我想从用户的Facebook墙上拉post。 下面的代码片段工作,但它永远不会终止: var https = require('https'); facebookWall = function(user) { var options = { host: 'graph.facebook.com', port: 443, path: '/me/home?access_token=' + user.facebook_token + '&since=' + encodeURIComponent(user.facebook_timestamp), method: 'GET', headers: { 'Connection':'keep-alive' } }; var req = https.request(options) .on('response', function(response) { var body = ''; response.on('data', function(data) { body += data; try { var wallPosts = […]

PHP,nodeJS和会话

我有一个经典的Apache服务器提供的PHP文件,和一个nodeJS服务器(与socket.io,但没有快速/连接)用于实时事件pipe理该PHP网站。 我有时需要authentication连接到nodeJS服务器的客户端,但是当用户重新加载页面时,这个authentication会丢失,因为它也重新加载了socket.io客户端(我在服务器上存储了套接字ID,每次刷新都会丢失) 问题是:有没有办法保持连接在socket.io,或链接的Apache PHP会话和nodeJS服务器的方式? 或者也许一种方法来保持使用cookie的身份validation(知道我必须存储敏感数据,如用户密码和密钥)?

HTTP保持在node.js中

我正在尝试设置一个HTTP客户端,以使底层连接在node.js中保持打开状态(保持活动状态),但似乎这种行为与文档不符( http://nodejs.org/api/http .html#http_class_http_agent )。 我正在创build一个新的HTTP代理,将maxSockets属性设置为1,并且每秒都请求一个url(例如http://www.twilio.com/ )。 似乎在每个请求的套接字被closures,并创build一个新的套接字。 我已经在Ubuntu 14.04下用node.js 0.10.25和0.10.36testing了这个。 有没有人能够继续工作? 这里是代码: var http = require("http"); var agent = new http.Agent(); agent.maxSockets = 1; var sockets = []; function request(hostname, path, callback) { var options = { hostname: hostname, path: path, agent: agent, headers: {"Connection": "keep-alive"} }; var req = http.get(options, function(res) { res.setEncoding('utf8'); var […]

如何在node.js中使用HTTP keep-alive连续发送请求?

我正在使用node.js 0.6.18,下面的代码使node.jsclosures每两个请求之间的TCP连接(在Linux上用stracevalidation)。 如何让node.js为多个HTTP请求(即保持活动状态)重复使用相同的TCP连接? 请注意,networking服务器能够保持活跃,它可以与其他客户端一起工作。 networking服务器返回分块的HTTP响应。 var http = require('http'); var cookie = 'FOO=bar'; function work() { var options = { host: '127.0.0.1', port: 3333, path: '/', method: 'GET', headers: {Cookie: cookie}, }; process.stderr.write('.') var req = http.request(options, function(res) { if (res.statusCode != 200) { console.log('STATUS: ' + res.statusCode); console.log('HEADERS: ' + JSON.stringify(res.headers)); process.exit(1) } res.setEncoding('utf8'); […]

Express.js密切回复

有没有办法来结束回应? 我可以使用res.end()但实际上并没有closures套接字。 我想要实现的是:我正在编写一个与networking接口的Java程序,并且正在为此编写一个node.js服务器。 Java代码: String line; while((line = in.readLine()) != null) { System.out.println("RES: "+line); } 但是,这只是保持挂..没有结束的连接,仍然在等待来自sockets的input。 节点: exports.getAll = function (req, res) { res.set("Content-Type", "text/plain"); res.set(200); res.send(..data..); res.end(); } 然而, res.end()不会closures连接。如前所述,java不断思考接下来会有什么东西,所以它被卡在while循环中。 谢谢