У меня есть сервер Socket.IO (Node.js, NPM), который работает нормально, но проблема сейчас в том, что он работает только в локальной сети.
Я использую 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-адрес, который я использую.
Как сделать его общедоступным?(не только локально / LAN) Я попытался изменить
io.connect('http://192.168.254.7:80', {transports:['websocket']});
на
io.connect();
Я даже изменил порт с 3000 на 8080 и на 80.
Я позволил своим друзьям попытаться зайти на сайт, и он всегда показывает net :: ERR_CONNECTION_TIMED_OUT.Это даже загружает к устройству другого?
Снова, как я делаю это общедоступным?Спасибо.