Este é parte do código em nodejs.
const app = express();
const server = app.listen(3000);
app.use(express.static("public"));
console.log("Server is running");
const io = socket(server);
Funciona no host local. O que você precisa fazer para que qualquer pessoa no mundo possa se conectar a ele.
Responder1
Atenção: abrir a sua máquina à Internet implica alguns riscos de segurança. Considere usar uma máquina dedicada (ou framboesa), faça backups, limite ao mínimo o tempo que seu servidor fica acessível pela internet até saber como protegê-lo, aprenda sobre segurança (eu gostohttps://tryhackme.com/).
Identifique o seu endereço público, usando por exemplohttps://whatismyipaddress.com/ Este endereço é fornecido pelo seu ISP.
Você quase certamente precisará abrir a porta 3000 no firewall local da sua máquina (isso depende muito do seu sistema operacional/distro, mas como fazer isso já está documentado em algum lugar na internet).
Tente se conectar a http://<you.ip.num.bers>:3000
Se não funcionar (provavelmente), você precisará configurar seu roteador/caixa para fazer Tradução de Endereço de Rede/Tradução de Endereço de Porta (NAT/PAT) para que as solicitações recebidas sejam redirecionadas para sua máquina.
Você precisará identificar o endereço IP da sua máquina local ( ip addr
ou ipconfig
de um terminal).
Conecte-se à sua caixa e encontre a seção sobre configuração NAT/PAT. Adicione um redirecionamento da porta 80 da interface WAN ("internet") para o ip da sua máquina e a porta que você escolher (3000 no seu exemplo).
Você poderá então se conectar ao seu site de qualquer lugar, usando seu ip público: http://<your.ip.num.bers> Não há necessidade de adicionar :80, é a porta padrão para http.
Parece que você está no início de uma bela jornada para administrador de sistemas. Você provavelmente vai querer aprender sobre DNS e nomes de domínio, proxy reverso e firewalls.