我现在正在端口3000上运行node.js,因此它仅在计算机上的localhost:3000上加载。但我想在多台计算机上进行测试。我该怎么办?
代码如下:
var app = require('express')();
var http = require('http').createServer(app);
var io = require('socket.io')(http);
app.get('/', function(req, res){
res.sendFile(__dirname + '/index.html');
});
io.on('connection', function(socket){
console.log('a user connected');
console.log(socket.id)
socket.on('disconnect', function(){
console.log('user disconnected');
});
socket.on('chat message', function(msg){
console.log('message: ' + msg);
io.emit('chat message', msg);
});
});
http.listen(3000, function(){
console.log('listening on *:3000');
});
答案 0 :(得分:2)
默认行为是侦听所有可用的网络接口,而不仅仅是本地主机,因此简单的答案是不执行任何操作。
任何可以向您的计算机发出网络请求的计算机都可以通过向计算机上任何IP地址上的端口3000进行HTTP报告来访问服务器。
执行开发工作的大多数计算机在公共Internet上没有IP地址。因此,要使本地网络外部的计算机访问该服务,您需要将Internet路由器配置为将请求转发到它可以用于LAN IP地址上的端口3000的某个端口。