1

我创建了一个非常简单的 Node.JS 脚本,假设它连接到端口 3200 上的服务器。该代码在 Windows 8.1 x64 上运行良好,但是当我将它移动到 Ubuntu 服务器机器时,我得到了 ECONNREFUSED。

我尝试通过 IP 地址和域名进行连接,但都不起作用。它总是给我ECONNREFUSED。

当我通过 SSH 连接到 Ubuntu 服务器时,我可以远程登录到服务器/端口,它工作正常。ping服务器也可以工作。只是 Node.JS 没有连接。

服务器:Ubuntu Server 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) {             
    });
});
4

1 回答 1

1

我找到了解决方案。我正在通过以下命令运行我的脚本:

节点测试.js

我猜该节点是旧版本。我将操作系统升级到最新版本,然后做了:

apt-get 安装 nodejs

我运行脚本如下:

nodejs test.js

它有效!

于 2013-10-31T19:39:17.297 回答