如何使用socket.io接收数据?

时间:2018-11-29 14:56:24

标签: javascript sockets express

我正在使用expressjs运行服务器。每当用户访问我的特定网址之一(为此,请想象它将是https://server.com/test)时,我都想使用socketio将数据发送到另一台Web服务器,侦听数据并使用我收到的数据。

几件事要注意:

  1. 我的服务器只希望访问https://server.com/test URL。
  2. 我想使用socket.io连接并获取数据的另一台服务器希望我将{"got" : "true"}的自变量发送到名为"test"的参数。
  3. 当另一台服务器使用上面指定的参数在参数“ 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,因为另一台服务器也可能也会发出对套接字的响应,但是我可能错了。

总而言之,我的问题是,为了成功从另一台服务器获得响应,我需要添加什么?

0 个答案:

没有答案