1

Good day

I need to connect a lot of pc's to a main server, through a server of units

hierarchy

I have something but I don't have all complete

Main Server

socketIo = require("socket.io"),
ioServer = socketIo(server),
ioServer.sockets.on("connection",function(socket){
     // Display a connected message
     console.log("Server-Client Connected!");
     // When we receive a message...
     socket.on("message",function(data){
         // We got a message... I dunno what we should do with this...
         console.log(data);
         console.log(data.from + " is connected with ip " + data.ip);
         socket.emit('message', { 'from': '10.19.17.101', 'answer':'I already added you '+data.from });
     });
 });

Server Units

 socketIo = require("socket.io"),
 ioServer = socketIo(server),
 ioClient = require("socket.io-client")('http://10.19.17.101:7700')
 ioClient.on('connect', function(){
       ioClient.on('message',function(data){
           console.log(data.from + " answered: " + data.answer);
           ioServer.to('pxe4').emit('message',data);
       });
       ioClient.emit('message',{ 'from': 'pxe4', 'ip':'10.19.16.84' });
 });

 ioServer.sockets.on("connection",function(socket){
     // Display a connected message
     console.log("User-Client Connected!");
     // When we receive a message...
     socket.on("message",function(data){
        // We got a message... I dunno what we should do with this...
        console.log(data);
        console.log(data.from + " is connected with ip " + data.ip);
        socket.emit('message', { 'from': '10.19.16.84', 'answer':'I already added you '+data.from });
        ioClient.emit("message",data);
    });
    socket.on("disconnect",function(data){
        // We need to notify Server 2 that the client has disconnected
        ioClient.emit("message","UD,"+socket.id);
        // Other logic you may or may not want
        // Your other disconnect code here
    });

 });

Units

 ioClient = require("socket.io-client")('http://10.19.16.84:7770'),
 ioClient.on('connect', function(){
      ioClient.on('message',function(data){
         // We received a message from Server 2
         // We are going to forward/broadcast that message to the "Lobby" room
         console.log(data.from + " answered: " + data.answer);
      });
      ioClient.emit('message',forsend);
 });

I was wondering if at this moment I can send some information from Main Server to a specific unit?

If someone could help me, I will be thankful.

1 Answer 1

1

When connecting from each client on the main server or Server Units you recive a socket object which contains socketid. You have to save those socket id's in some data storge for speedy access with the server information. When you have to emit data to specific socket you have to query that specific socket from data storage and emit the data. On disconnect you have to pull that particular socket from data storage

Sign up to request clarification or add additional context in comments.

1 Comment

sure give me some time i will update my answer with code

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.