Estoy desarrollando una aplicación para aprender del lado del servidor. Creé un servidor de nodo js y una aplicación de Android.
WorkFlow⚙️(Lo que quiero lograr):- 
Mi IP local de pc: 192.168.0.120
En el puerto estoy escuchando: 8443
Todo funciona bien en localhost: ya que estoy enviando POST req. en 192.168.0.120:8443 al hacer clic en el botón de mi aplicación.
Pero esto solo funcionará si estoy conectado a mi wifi, no cuando estoy conectado a la red SIM o en algún lugar remoto.
Entonces, mi pregunta es dónde enviar una solicitud haciendo clic en el botón en mi aplicación (definitivamente no puedo enviar en 192.168.0.120:8443 ya que no estaré conectado a wifi)?
archivo server.js
let http = require('http') let server = http.createServer(function (req, res) { if (req.method === 'POST') { console.log('sleeping..💤💤') var ffi = require('ffi-napi') var powrprof = ffi.Library('powrprof.dll', { SetSuspendState: ['int', ['int', 'int', 'int']], }) function invokeStandby() { powrprof.SetSuspendState(0, 0, 0) } // invokeStandby() } else { res.writeHead(405, { 'Content-Type': 'text/plain' }) res.end('Method Not Allowed\n') } }) server.listen(8443) console.log('Server running on port 8443')Esta es más una pregunta de red que una pregunta de nodo. Deberá poder configurar su enrutador de puerta de enlace / firewall para que funcione. Además, su ISP debe permitir conexiones entrantes en los puertos que está escuchando. Afortunadamente, es probable que esto no sea un problema, sino algo a tener en cuenta.
Primero, deberá configurar su enrutador para realizar el reenvío de puertos. El reenvío de puertos traducirá las conexiones a un puerto específico en su enrutador y luego reenviará esa solicitud al mismo puerto en una dirección IP interna específica en su red local. Si su enrutador tiene un firewall, es posible que también deba crear una regla para permitir el paso del tráfico en ese puerto. La mayoría de los enrutadores domésticos no necesitarán hacer esto.
Una vez que su enrutador de puerta de enlace esté configurado, deberá averiguar la dirección IP externa de su enrutador. Para encontrar la dirección IP externa, puede ir a un sitio web como https://whatismyipaddress.com/ . Proporcione esta dirección IP junto con el puerto a quien desee conectarse a su servidor.
La mayoría de los ISP asignan direcciones IP dinámicamente, por lo que deberá verificar si su dirección IP ha cambiado de vez en cuando.
Una vez que todo esté configurado y los puertos se reenvíen a su máquina de desarrollo local, puede iniciar su servidor Node y comenzar a ver solicitudes.
Tenga en cuenta que existen algunos riesgos al exponer su máquina a Internet. Solo asegúrese de no confiar en la entrada a su servidor y tal vez desactive el reenvío de puertos cuando no lo necesite.
Si no puede hacer ninguna configuración de enrutador, consulte ngrok. Esto pasará por casi cualquier enrutador NAT o firewall. Tenga en cuenta que la versión gratuita está limitada a 40 conexiones por minuto.
Para lograr esto: -

ngrok para crear un túnel. (ahora, si POST una solicitud en esa URL, mi PC se va a dormir)server.ts como servicio de Windows en la PC. así que cada vez que mi PC se inicia o se despierta del servidor de suspensión, inicia un servidor HTTP y genera una nueva URL de túnel. luego lo guarda en la base de datos de firestore.POST en esa URL y la PC se duerme💤💤Si quieres construirlo por ti mismo, aquí está la URL: - Github repo