Tag: 保持活动

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循环中。 谢谢