2017-02-13 5 views
1

Guten TagWie Buchse io und Buchse io Client

ich viele PCs an einen Hauptserver verbinden, konfigurieren müssen, über einen Server von Einheiten

hierarchy

Ich habe etwas, aber ich haben nicht alle vollständig

Hauptserver

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-Einheiten

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 
    }); 

}); 

Einheiten

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); 
}); 

Ich frage mich, in diesem Moment, wenn ich einige Informationen von Hauptserver zu einer bestimmten Einheit senden kann?

Wenn jemand mir helfen könnte, werde ich dankbar sein.

Antwort

1

Wenn Sie von jedem Client auf dem Hauptserver oder den Servereinheiten eine Verbindung herstellen, erhalten Sie ein Socket-Objekt, das socketid enthält. Sie müssen diese Socket-IDs in einigen Daten speichern, um einen schnellen Zugriff auf die Serverinformationen zu ermöglichen. Wenn Sie Daten an bestimmte Sockets ausgeben müssen, müssen Sie diesen bestimmten Socket vom Datenspeicher abfragen und die Daten ausgeben. Beim Trennen müssen Sie diesen bestimmten Socket aus dem Datenspeicher

+0

ziehen Könnten Sie mir ein Beispiel mit Code geben? –

+0

sicher gib mir etwas Zeit, ich werde meine Antwort mit Code aktualisieren –

Verwandte Themen