我正在使用nodejs作为视频游戏的服务器,并且我想尝试多人游戏部分,但是,我无法通过本地主机从计算机外部进行连接。
因此,我之前使用express,这可行:var app = express();
var serv = app.listen(8081, "127.0.0.1");
上面,服务器正在使用localhost(127.0.0.1),但是可以将其更改为我想要的任何IP。并正在监听端口8081。
问题是,我不再使用Express,而仅使用Nodejs。我正在“手动”处理请求,响应和处理程序。我在这里对express的文档进行了一些研究:http://expressjs.com/es/4x/api.html#app.use
但老实说,我不了解此功能的工作原理。
这是我的server.js:// Import the necessary modulesvar http = require('http');
// Server objectserver = {};
// Start the http serverserver.httpServer = http.createServer(function(req, res){/* Stuff */}
// Start the serverserver.httpServer.listen(8081, function(){ console.log('The server is listening on port 8081');});
最佳答案
我不确定您要做什么,但是据我了解,您尝试从外部IP访问Node服务器。
你不能那样做。您需要一个具有公共可访问IP的服务器来启动Node服务器,或者在本地IP内启动Node服务器。
如果要公开公开本地主机,一种简单的解决方案是使用诸如ngrok之类的工具。但是请注意,这不是安全和/或最佳做法。