簡単なコードを書き、ファイルtry.jsに保存しました。
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.");
ターミナルを介して実行するとエラーが発生します
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
私にとって、問題は別のインスタンスが実行されていたことでした。実行中の他のノードインスタンスを検索し、強制終了します。その後、適切に再開するはずです。
これは、localhost:8080で何もリッスンしていないために発生しています。以下に、リクエストエラーの処理方法の例を示します node.jsでHTTPクライアントリクエストの例外をキャッチする方法
別のサーバーが同じポート8080で実行されているため、インスタンスを強制終了して起動する必要があります。
実行中のインスタンスを見つける
$ 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
pidを使用して既存のサーバーインスタンスを強制終了
$ kill -9 28207
インスタンスの開始
$ node server.js
ポート番号を変更します。ポートがすでに実行されているため。
のようなポート番号:8000,8001,3000,3001,8080 ....
app.listen(3030,()=>{})
(または)ポート番号を削除します。 Ubuntu OSを使用してこの手順に従う場合。
同じポートで別のプロセスがすでに実行されています。実行中のプロセスを強制終了するか、現在のコードのポート番号を変更します。問題は修正されます!
別のサーバーが同じポート8080で実行されているため、このコードのポートを変更するか、ポート8080を強制終了して再起動します。