Socket.IO服务器只能在本地访问

时间:2018-10-11 11:00:19

标签: javascript server socket.io

我有一个运行良好的Socket.IO服务器(Node.js,NPM),但是现在的问题是它只能在LAN中工作。

我正在使用Socket.IO 2.1.1。

我的IP是我的IPv4地址,端口是80。这是我的server.js代码。

var express = require('express');
//var http = require('http');
var url = require('url');
var socket = require('socket.io');
var crypto = require('crypto');
var fs = require('fs');

//App setup
var app = express();
var server = app.listen(80, function() {
    console.log('listening to request on port 80! Yay!');
});

//Static files
app.use(express.static('public'));

io.on('connection', function(socket) {
    //stuff to do on connection
}

和客户

var socket = io.connect('http://192.168.254.7:80', {transports:['websocket']});

我也包括了

<script language="javascript" src="http://<ipv4>:80/socket.io/socket.io.js"></script>

其中IPv4是我正在使用的IP地址。

如何将其公开? (不仅是本地/局域网),我尝试更改

io.connect('http://192.168.254.7:80', {transports:['websocket']});

io.connect();

我什至将端口从3000更改为8080,再更改为80。

我让我的朋友尝试访问该网站,并且该网站始终显示 网路:: ERR_CONNECTION_TIMED_OUT。它甚至可以加载到对方的设备上吗?

再次,我该如何公开?谢谢。

0 个答案:

没有答案