簡體   English   中英

node.js中的端口錯誤錯誤:連接ECONNREFUSED

[英]port error in node.js Error: connect ECONNREFUSED

我正在嘗試在本地主機上運行應用程序,但不斷出現以下錯誤:

Error: connect ECONNREFUSED
 at Object.exports._errnoException (util.js:1022:11)
 at exports._exceptionWithHostPort (util.js:1045:20)
 at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1087:14)

我已經安裝了node.js並執行了cmd命令:npm install和node index。 我究竟做錯了什么? 我的代碼如下對於索引文件:

var config = require('./config');

// ******************* WebSocket server ******************* 

var wsClients = {};
var WebSocket = require('ws');
var webSocketServer = new WebSocket.Server({ 'host': config.webSocketHost,'port': config.webSocketPort }, function(){
    console.log('WebSocket listening '+config.webSocketHost+' on port '+config.webSocketPort+'.');
});

webSocketServer.on('connection', function(cws) {
    var id = Math.random();
    wsClients[id] = cws;
    console.log("New connection " + id);

    cws.on('close', function() {
        console.log('Connection close ' + id);
        delete wsClients[id];
    });

    cws.on('error', function() {
        console.log('Connection error ' + id);
        delete wsClients[id];
    });
});

webSocketServer.on('message', function(data){
    console.log(data);
});

// ******************* Web server *******************

var express = require('express');
var app = express();
app.use(express.static('public'));

app.set('views', './views');
app.set('view engine', 'ejs');
app.disable('x-powered-by');

app.get('/', function (req, res) {
    res.render('index');
});

app.use(function(req, res, next) {
    res.status(404).send('Sorry cant find that!');
});

app.use(function(err, req, res, next) {
    console.error(err.stack);
    res.status(500).send('Something broke!');
});

var host = config.webHost || process.env.HOST || "127.0.0.1";
var port = config.webPort || process.env.PORT || 80;

app.listen(port, host, function () {
    console.log('WebServer listening '+config.webHost+' on port '+config.webPort+'.');
});

// ******************* Twitter bot *******************

var Twitter = require('twitter'); 
var client = new Twitter(config);
var stream = client.stream('user');

stream.on('data', function(event, webSocketServer) {
    for (var key in wsClients) {
        wsClients[key].send(JSON.stringify(event));
    }
}); 

stream.on('error', function(error) {
    throw error;
});

ECONNREFUSED表示“服務器拒絕連接”。 這可能是由於多種原因。

在調試模式下運行服務器,在其上設置一個斷點,然后檢查連接請求是否到達服務器應用程序。

如果連接請求未到達服務器應用程序,請檢查本地防火牆,網絡等。

如果到達服務器應用程序並遇到斷點,請逐步運行,並找出實際上是哪一行代碼關閉了連接。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM