node.js - NodeJS data throughput -
i've set nodejs server can accessed client. every once in while it's necessary let server connect second server , feed information retrieved client.
connecting second server easy part, honest have no idea how send client. res.write
seems forbidden during connection second server.
the connection client handled handlegetrequest
. connection second server starts @ http.get
.
var http = require('http'); var url = require('url'); var server = http.createserver(function(req, res) { var url_parsed = url.parse(req.url, true); if (req.method ==='get') { handlegetrequest(res, url_parsed); } else { res.end('method not supported'); } }); handlegetrequest = function(res, url_parsed) { if (url_parsed.path == '/secondary') { var options = { hostname: "localhost", port: "8900", path: "/from_primary" } http.get(options, function(secget) { resget.on('data', function(chunk) { // either store 'chunk' later use or send directly }); }).on('error', function(e) { console.log("error " + e.message); }); } else { res.writehead(404); } res.end('closed'); }; server.listen(8000);
how send chunk
http.request
client?
i thinks passing callback
handlegetrequest
fix issue:
if (req.method === 'get') { handlegetrequest(url_parsed, function (err, response) { if (err) { return res.sendstatus(500); } res.json(response); }); } else { res.end('method not supported'); } handlegetrequest = function (url_parsed, callback) { // options ... http.get(options, function(resget) { var data = ''; resget.on('data', function(chunk) { data += chunk; }); resget.on('end', function() { callback(null, data); }); }).on('error', function(e) { callback(e); }); }
Comments
Post a Comment