Я запускаю сервер с помощью expressjs. Всякий раз, когда пользователь обращается к одному из моих конкретных URL-адресов (для этой цели представьте, что это будет https://server.com/test), я хочу отправить данные на другой веб-сервер с помощью socketio, прослушать данные и ответить пользователю данными, которые я получил. .
Несколько замечаний:
https://server.com/test.{"got" : "true"} параметру "test".{"message" : "true"}.Мой код довольно прост и выглядит так (роутер):
const express = require("express");
const router = express.Router();
//const Goal = require("../models/battery_message");
const mongoose = require("mongoose");
const io = require("socket.io-client");
const host = "https://another_server.com"
const socket = io(host, {query:"[email protected]"});
console.info("connected");
router.get('/', function(req,res) {
socket.emit("test_me", {"got" : "true"}, function(data){
exists = data;
console.info(data);
});
});
module.exports = router;
У меня проблема в том, что всякий раз, когда пользователь обращается к моему серверу на https://server.com/test, ничего не происходит, поскольку ответ не приходит, как в бесконечном цикле. Я предполагаю, что мне нужен какой-то другой socket.emit, потому что другой сервер, вероятно, тоже отправляет свой ответ на сокет, но я могу ошибаться.
Подводя итог, мой вопрос: что мне нужно добавить, чтобы успешно получить ответ от другого сервера?
@ChrisG Если честно, я не проверял с помощью простых HTTP-запросов, но я знаю, что идея сервер-сервер выглядит глупо, мне это просто нужно для демонстрации, и я буду переделывать ее позже. Что касается управления, то у меня нет для второго сервера. Если мы говорим о HTTP-запросах, могу ли я проверить это, просто сделав запрос GET с указанными аргументами?
@ChrisG Второй сервер также ожидает электронной почты в качестве аргумента
Извините за вопрос, но действует ли второй сервер как сервер сокетов? Я полагаю, вы знаете, что это должно быть специально настроено таким образом. Кто контролирует 2-й сервер? Это сайт? Но да, просто используйте HTTP-запросы. Не похоже, что сервер 2 должен иметь возможность отправлять сообщения серверу 1, что является единственным вариантом использования сокетного соединения здесь.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Почему вы хотите использовать socket.io для соединения сервер-сервер? Похоже, все, что вам нужно, это простой HTTP-запрос. Пожалуйста, дайте еще немного контекста. Как настроен этот второй сервер? Это сервер только для сокетов? Вы контролируете это? Почему эта запутанная установка?