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
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.
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
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
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.
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!
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.