es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Conectar servidores que se ejecutan en dos puertos.

Soy un traductor de español que traduce documentos de TI. Traduce lo siguiente al español. No traduzcas el código y la salida en markdownSoy un novato en JS y aplicaciones web.
Tengo dos servidores ejecutándose en mi computadora en dos puertos diferentes (5000 y 5001). El servidor 5000 proporciona una ruta que necesita comunicarse con el servidor en el puerto 5001, pero no puedo hacer que funcione.

Estoy usando express.js y xhr2 para las solicitudes HTTP. Parece haber un problema con mi URL. ¿No se supone que debo buscar el puerto en la dirección 0.0.0.0? (También he intentado usar el de localhost y no funciona).

A continuación se muestra un ejemplo de una ruta como esta. ¡Gracias por tu ayuda!

app.get('/usuario', (req, res) => {
   var url = "0.0.0.0:5001/usuario"
   var XMLHttpRequest = require('xhr2')
   var xhr = new XMLHttpRequest();
   xhr.open("GET", url, true);
   console.log(url)
   xhr.addEventListener('readystatechange', function() {
           if (xhr.status == 200) {
               res.status(200).send(xhr.responseText)
           }
       });
   xhr.send();
})
Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Como principiante en JS y aplicaciones web, es fundamental entender el concepto de puertos y cómo realizar peticiones entre ellos.

    En este caso, parece haber un problema con la URL que se utiliza para hacer la petición. La URL debe incluir el protocolo (HTTP/HTTPS) y el nombre del host (localhost, 0.0.0.0, u otro). Por lo tanto, la URL debe ser definida de la siguiente manera:

    var url = "http://localhost:5001/user";
    

    o

    var url = "http://0.0.0.0:5001/user";
    

    Esto especifica el protocolo, el nombre del host, el puerto y la ruta que se necesita acceder.

    Además, es una buena práctica usar variables de entorno para almacenar los números de puerto en lugar de codificarlos directamente en el código. De esta forma, si el número de puerto cambia en el futuro, será más fácil modificarlo sin tener que cambiar el código.

    var url = `http://localhost:${process.env.PORT_5001}/user`;
    

    En resumen, el código debe actualizarse para incluir la URL correcta y utilizar variables de entorno para almacenar los números de puerto.

Comments are closed.