NodeJS requête HTTP POST ERROR socket raccroche

Bonjour, j'ai des problèmes pour effectuer une requête HTTP sur NodeJS avec un nombre plus grand d'objets json. La requête fonctionne bien, compte tenu de la petite collection d'objets json. Cependant, si j'essaie d'augmenter le tableau de taille de json, j'ai reçu Error: socket hang up {"error": {"code": "ECONNRESET"}}. Est-il nécessaire d'effectuer une écriture multiple? Ou est-ce que quelque chose ne va pas à l'autre extrémité?

Merci d'avance de prendre votre temps ici!

// data is a json object var post_data = JSON.stringify(data); var buf = new Buffer(post_data); var len = buf.length; var options = { hostname: address, port: port, path: pathName, method: 'PUT', headers: { 'Content-Type':'application/json', 'Content-Length': len, 'Transfer-Encoding':'chunked' } }; // http call to REST API server var req = restHttp.request(options, function(res) { console.log('server PUT response received.'); var resData = ''; res.on('data', function(replyData) { // Check reply data for error. console.log(replyData.toString('utf8')); if(replyData !== 'undefined') resData += replyData; }); res.on('end', function() { callback(JSON.parse(resData)); }); }); req.write(buf); req.end(); 

Vous pouvez diffuser le corps de demande.

Si les données dans buf étaient dans un flux lisible, vous pouvez simplement faire buf.pipe(req) .

Par exemple, si le répertoire actuel contient un fichier data.json avec le JSON que vous pouvez faire

 var buf = fs.createReadStream(__dirname + '/data.json'); 

Pour créer un objet ReadStream. Ensuite, vous pouvez répondre à vous

 buf.pipe(req); 

La commande de tuyau appelle req.end une fois qu'il est fait en streaming.