web-dev-qa-db-de.com

Node.js unbehandeltes 'Fehlerereignis'

Ich habe einen einfachen Code geschrieben und in der Datei try.js gespeichert.

var http = require('http');
var makeRequest = function(message) {
  var options = {
    Host: 'localhost', port: 8080, path: '/', method: 'POST'
  }
  var request = http.request(options, function(response){
    response.on('data', function(data){
      console.log(data);
    });
  });

  request.write(message);
  request.end();
}
makeRequest("Here's looking at you, kid.");

Wenn ich es durch Terminal laufen lasse, gibt es einen Fehler

throw er; // Unhandled 'error' event,
Error: connect ECONNREFUSED
at errnoException (net.js:884:11)
at Object.afterConnect [as oncomplete] (net.js:875:19)error' event
27
ana

Für mich bestand das Problem darin, dass eine andere Instanz ausgeführt wurde. Suchen Sie nach einer anderen Knoteninstanz, die ausgeführt wird, und beenden Sie sie. Danach sollte es ordnungsgemäß wieder aufgenommen werden. 

42
MVCaraiman

Dies geschieht, weil auf localhost nichts zu hören ist: 8080. Beispiele für die Behandlung von Anforderungsfehlern Abrufen von Ausnahmen für HTTP-Clientanfragen in node.js

10
Damian Krawczyk

Ein anderer Server läuft auf demselben Port 8080. Sie müssen Ihre Instanz daher beenden und starten.

Laufende Instanz finden  

$ netstat -nlp | grep 8080

(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
tcp6       0      0 :::8881                 :::*                    LISTEN      28207/node    

vorhandene Serverinstanz mit pid beenden  

$ kill -9 28207

Instanz starten  

$ node server.js 
6
KARTHIKEYAN.A

portnummer ändern. Weil Ihr Port bereits läuft.

portnummer wie: 8000,8001,3000,3001,8080 ....

 app.listen(3030,()=>{})

(oder) Töten Sie Ihre Portnummer. Wenn Sie Ubuntu OS verwenden, führen Sie diese Schritte aus.

  1. So suchen Sie die PID oder TCP mit dem Terminal: Sudo netstat -ap | grep: "Portnummer"
  2. So beenden Sie den Prozess mit diesem Befehl: kill -9 "process_id oder tcp_id"
  3. So führen Sie Ihre NodeJs aus
0
sm chinna

Auf demselben Port wird bereits ein anderer Prozess ausgeführt. Beenden Sie entweder den laufenden Prozess oder ändern Sie die Portnummer im aktuellen Code. Ihr Problem wird behoben!

0

Ein anderer Server läuft auf demselben Port 8080, ändern Sie also den Port in diesem Code oder beenden Sie den Port 8080 und starten Sie ihn neu.

0
Ashita Gaur