2017-01-02 242 views
0

我一直在尝试使用nodeJS和socket.io进行在线多人游戏。我可以通过localhost:3000访问我的网站,但现在我希望我的朋友也可以访问它。如何使node.js服务器可以通过公共IP地址访问

var express = require('express'); 
var app = express(); 
var server = require('http').Server(app); 
var io = require('socket.io')(server, {}); 
server.listen(3000); 

我怎样才能让这个其他人可以使用我的http://cmyip.com发现,例如[外部IP]我的公网IP地址来访问我的网站:3000。

我试着用ngrok,但它是非常缓慢的,并发出数据每30毫秒被超过ngrok限制socket.io。另外,我不想使用任何DNS或其他插件,我只是希望它很简单。

我使用的是Mac OS,所以我的防火墙在默认情况下是禁用的。

这里是我的端口转发页:(我的本地IP是192.168.1.50) 我这样做对吗?我尝试过使用游戏进行端口转发,它运行良好,所以我不认为它是我的路由器。 enter image description here

回答

0

如果你确定你没有与路由器的问题,那么你可以尝试听0.0.0.0这意味着你将倾听外部和内部的IP不会忽略。

server.listen(3000,"0.0.0.0");

另外你还需要检查你的Brandmauer或防火墙。

相关问题