Recodemos un poco de teoría de redes de cómputo (ver Freddy Fund. de Ing. de Software). Tu servidor solo está respondiendo a peticiones HTTP en tu red local
Además, la asignación de IP es de tipo B, por lo que tu servidor solo envía y recibe respuestas en esa capa de red (tu localhost).
Si quieres compartir tu “hello world” con tu familia tienes que saber tu dirección IP, así que puedes escribir en la consola:
unix (linux o mac)
ifconfig
o si tienes windows:
ipconfig
verás algo como esto:
Busca el renglón que dice IPv4 y guarda esa información en una constante en tu archivo index.js
const express = require('express');
const app = express();
const port = 8080;
//aquí va tu ipconst IP = "192.168.100.9";
Modifica el listener
app.listen(port, () => {
console.log("http://"+ IP +":" + port + "/");
});
corre tu entorno de prueba
npm run dev
Verás algo como esto
Comparte la dirección http que te corresponda para que tu familia pueda hacer y recibir peticiones de tu servidor.
Muy bien! Has desplegado tu primer servidor LAN y lo puedes compartir con toda tu familia! 😄 😄
|
|
Pd. Si quieres llevar tus apps a otro nivel, tendrás que desplegar tu servidor en algún servicio que hospede en MAN o WAN (están heroku o netlify, o en la nube Microsoft Azure, AWS o Google Cloud Platform y te ofrecerán más servicios entre los que el DNS es importante para que accedan sin escribir direcciones IP en el navegador… o en una blockchain como Ethereum pero eso ya es otra historia xd)
Aqui les dejo el codigo para que no tenga que buscar su IP en la consola.
const express = require("express"); const os = require('os') const IP = os.networkInterfaces().en1[1].address const app = express(); const port = 3000; app.get('/', (req, res) => { res.send('hola mi server en express') }) app.listen(port, () => { console.log(`http://${IP}:${port}/`) });
Cabe aclarar que si despues de hacer estos pasos sigue sin poder conectarles desde otros dispositivos, puede ser debido al Firewall de su antivirus. Por lo cual si quieren que se conecten a su servidor desde otros dispositivos, deberán desactivar el firewall
Ahora con esto me veré más hacker delante de mi familia jajajajaja
Subo este comentario porque no se como guardar el post y estoy seguro que lo voy a olvidar de nuevo jaja, gracias
Hola!
En Mac, desde la terminal, para observar la IP:
si estas conectado por cable =
networksetup -getinfo Ethernet
si estas conectado por wi-fi =
networksetup -getinfo Wi-Fi
o ingresar a preferencias del sistema -> Red y revisan el item por el que estan conectados, ethernet o wi-fi…
Un truco para no tenerlo que hacer desde la consola es dar click + option en el icono del wifi y despliega toda la info de las redes!
Esto esta de maravilla!
Lo hice en ubuntu, me pidio instalar net-tools así que corrí
sudo apt install net-tools
Luego corrí ifconfig, entonces aparece información varia sobre la red, el caso es que la ip que necesitamos es la que primero dice inet y luego esta la ip
Obrigado