我一直在尝试使用nodeJS和socket.io进行在线多人游戏。我可以通过localhost:3000访问以测试我的网站,但现在我也希望我的朋友也可以访问它。
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地址访问我的网站,例如[external-ip]:3000。
我尝试使用ngrok,但它非常慢,而且每隔30 ms发出一次数据的socket.io超出了ngrok限制。此外,我不想使用任何DNS或其他插件,我只是想让它变得简单。
我使用的是Mac OS,因此我的防火墙默认处于禁用状态。
这是我的端口转发页面:(我的本地IP为192.168.1.50) 我做得对吗?我已尝试使用游戏进行端口转发,并且工作正常,所以我不认为它是我的路由器。
答案 0 :(得分:2)
如果您确定没有路由器问题,那么您可以尝试听server.listen(3000,"0.0.0.0");
这意味着您将收听外部和内部IP地址。
ID Category Level Reference
1 First 1 0
2 Second 1 0
3 Third 1 0
4 First's child 1 2 1
5 First's child 2 2 1
6 Next level 3 5
此外,您仍需要检查您的Brandmauer或防火墙。