无法连接到我的 VPS 上的 node.js 服务器

Can't connect to a node.js server on my VPS

好吧,我希望这个问题不是愚蠢的或重复的。我保证我已经研究和测试了很多。

我的 VPS 上有一个 服务器 ,代码如下:

var app = require('express')();
var server = require('http').Server(app);
var io = require('socket.io')(server);

server.listen(8080);

io.on('connection', function(socket) {
  socket.on('hello', function() {
    console.log('Hello received');
  }
}

另一台机器上的客户端

<script>
  var socket = io.connect('http://[VPS Public IP]:8080');
  io.emit('hello');
</script>

这在使用私有 IP 地址和同一网络时有效。使用 public IP 时,这不起作用。知道为什么会这样吗?

谢谢。

好的,经过更多测试后,我已经解决了自己的问题。

我意识到 VPS public IP (X.X.X.209) 与他们给我的 IP 地址不同SSH (X.X.X.221) 使用串行控制台工具。

我使用的是第二个 IP 地址 X.X.X.221,而我的真实 public IP 是第一个。一旦我使用了 X.X.X.209,它已经连接没有任何问题。

感谢您的所有意见和想法。