Как я могу получить данные, используя socket.io? - PullRequest
0 голосов
/ 29 ноября 2018

Я использую сервер с помощью expressjs.Всякий раз, когда пользователь обращается к одному из моих конкретных URL (для этого просто представьте, что это будет https://server.com/test), я хочу передать данные на другой веб-сервер с помощью socketio, прослушать данные и ответить пользователю данными, которые ябыли получены.

Несколько замечаний:

  1. Мой сервер ожидает только доступ к URL-адресу https://server.com/test.
  2. Другой сервер, к которому я хочу подключиться с помощью socket.io и получить данные, ожидает, что я отправлю аргумент {"got" : "true"} параметру "test".
  3. Когда другой сервер получает от моего сервера сокет emit для параметра "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=edmund@gmail.com"});
console.log("connected");


router.get('/', function(req,res) {
    socket.emit("test_me", {"got" : "true"}, function(data){
        exists = data;
        console.log(data);
    });
});

module.exports = router;

Проблема, с которой я сталкиваюсь, заключается в том, что каждый раз, когда пользователь обращается к моему серверу по https://server.com/test, ничего не происходит, поскольку никакой ответ не поступает, как в бесконечном цикле.Я предполагаю, что мне нужен какой-то другой socket.emit, потому что другой сервер, вероятно, тоже отправляет свой ответ сокету, но я могу ошибаться.

Итак, подведем итог: у меня вопрос: что мне нужно добавить, чтобы успешно получить ответ от другого сервера?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...