Как я могу получить запрос, дождаться данных с помощью сокета и отправить ответ обратно? - PullRequest
0 голосов
/ 28 ноября 2018

Я попытался погуглить этот вопрос, и, честно говоря, я нашел множество ответов.Но проблема в том, что у меня слишком много вариантов, и я уже потерян.Я не веб-разработчик, но я должен сделать эту небольшую вещь, чтобы идти дальше, поэтому ваша помощь будет оценена.

Учтите, что у меня есть веб-сервер, написанный на expressjs, и один из маршрутизаторов называется целью.Всякий раз, когда пользователь отправляет запрос GET на мой маршрутизатор (что-то вроде: https://www.myserver.com/goal) Мне нужно создать клиентский сокет, подключиться с этим сокетом к другому серверу (другой сервер - https://www.secondserver.com/goal) без определенного порта,дождитесь данных, закройте сокет и отправьте данные обратно исходному пользователю.

Как я могу это сделать?

Я начал с этого простого кода, который обрабатывает основной запрос GET:

router.get("/", (req,res,next)=>{
    // need to create a socket
    // then it should invoke something like io.connect, I am not sure
     // Listen until I get the JSON data
    .then(docs => {
        const response = {
            // Modify the received JSON data from second server
                }
            })
        }
        res.status(200).json(response);
    })
    .catch(err => {
        res.status(500).json({
            message: "error",
            error : err
        });
    });
});
...