0

I have two EC2 instances, and I am using socket.io to establish communication between them.

In my First Server I have the following files

server1.js

........
........

     var loadData = require("./client/getData");

     app.use(bodyParser.json());
     app.use(bodyParser.urlencoded({ extended: false }));
     app.use(cookieParser());

    app.use('/', loadData);

    var port = Number(process.env.PORT || 5000);
    app.listen(port);
    var server = require("https").Server(app);
    var io = require("socket.io-client");

    app.set('socketio', io);
..........

getData.js

......
router.get('/getMetaData', function(req, res){

    var io = req.app.get('socketio');

    var socket = io.connect('https://172.43.3.2:8080');

    socket.on('metaData', function(data){
        console.log("MetaData:", data);
        res.json(data);
    });

});


module.exports = router;

In my Second Server i have the following

server2.js

var express = require('express');
var app = express();
var server = require("https").Server(app);
var io  = require("socket.io")(server);

app.get('/', function (req, res) {
  res.send('Hello World');
});

var port = Number(process.env.PORT || 5000);
app.listen(port);

var metaData = {
    "block1":["id1","id2"]
}
io.on('connection', function(socket){
    console.log("Received Connection");
    socket.emit('metaData', metaData);
});
console.log("Server Running on:", process.env.PORT);

My request to the route /getMetaData is resulting in "504 Gateway Time-out", I am not sure what I am doing wrong or missing out on

RRP
  • 2,563
  • 6
  • 29
  • 52
  • You are trying to connect on port 8080, are you sure this is the port the server is running on? – Sébastien Mar 04 '18 at 23:00
  • @Sébastien when do process.env.PORT on the second server it outputs as 8080 – RRP Mar 04 '18 at 23:03
  • It's pretty much never the right design to connection with socket.io in a web server route because that will make a new socket.io connection EVERY time that route is hit. – jfriend00 Mar 04 '18 at 23:27
  • In server1, what are you doing with the exported router from `getData.js`. You don't show any code that uses that router and hooks it into the web server. – jfriend00 Mar 04 '18 at 23:28
  • @jfriend00 there isn't much to that route, its just exported to the main server.js. I have edited the server.js to show that – RRP Mar 04 '18 at 23:44

0 Answers0