2013-10-31 70 views
0

我創建了一個非常簡單的Node.JS腳本,它假設連接到端口3200上的服務器。該代碼在Windows 8.1 x64上運行良好,但是當我將它移動到Ubuntu Server計算機上時我正在獲得ECONNREFUSED。Node JS Net.Connect ECONNREFUSED

我試圖通過IP地址和域名連接,但都沒有工作。它總是給我ECONNREFUSED。

當我SSH進入Ubuntu服務器時,我可以做一個telnet到服務器/端口,它工作正常。同時ping服務器工作。只是Node.JS不連接。

服務器: Ubuntu服務器12.04.3 LTS(精確)

下面是代碼:

var net = require('net'); 

var socket = net.connect({port: 3200, host: '172.19.16.203'}, function() { 

    // Connection Successful 
    console.log('Socket connected...'); 

    // Data Received from Server 
    socket.on('data', function(d) { 
     console.log('data');   
    }); 

    socket.on('end', function() {    
    }); 

    socket.on('error', function(e) {    
    }); 
}); 
+1

你檢查過文件權限嗎? – Gntem

+0

我正在運行sudo的程序 – Carsten

+0

您是否嘗試在'127.0.0.1'上運行並在另一個端口上運行,比如說'9999'? – Gntem

回答

1

我找到了解決辦法。我通過以下命令運行我的腳本:

節點test.js

我猜的節點是舊版本。我升級了操作系統的最新版本,然後做:

的apt-get安裝的NodeJS

我運行該腳本類似以下內容:

的NodeJS test.js

和它的作品!