Socket.io Express服务器无法在其他设备上访问

时间:2019-02-10 17:08:10

标签: javascript express socket.io

我正在运行一个简单的socket.ioexpressjs应用程序。他们正在托管一个简单的HTML文件。当我尝试在浏览器中访问此文件时,它可以工作。但这似乎在我网络上的其他设备上失败。

var express = require('express');
var app = express();
var server = require('http').createServer(app);
var io = require('socket.io').listen(server);
users = [];
connections = [];

server.listen(process.env.PORT || 3000);
console.log('Server running...')

var path = require('path');
app.use(express.static(path.join(__dirname, "")));

我觉得我缺少什么。 我该怎么做才能将该站点部署到其他设备(或一般的Internet)上?

1 个答案:

答案 0 :(得分:0)

您需要侦听.listen(3000, "0.0.0.0");,并且必须在防火墙上为其打开一个端口。

或者您可以使用ngrok,它将通过任何NAT或防火墙(本地网络或全局)为您提供安全的localhost服务器URL。