Node.js war etwas, das mich schon lange wirklich interessiert hat, und ich habe es in einem meiner Projekte verwendet, um ein Multiplayer-Spiel zu erstellen.
io.sockets.in().emit()
und socket.broadcast.to().emit()
sind die beiden wichtigsten Emit-Methoden, die wir in den Räumen von Socket.io verwenden ( https://github.com/LearnBoost/socket.io/wiki/Rooms ). Räume ermöglichen eine einfache Partitionierung der verbundenen Clients. Dies ermöglicht die Ausgabe von Ereignissen an Teilmengen der Liste der verbundenen Clients und bietet eine einfache Methode zu deren Verwaltung.
Sie ermöglichen es uns, die Teilmengen der Liste der verbundenen Clients (die wir Räume nennen) zu verwalten und verfügen über ähnliche Funktionen wie die Hauptfunktionen von socket.io io.sockets.emit()
und socket.broadcast.emit()
.
Auf jeden Fall werde ich versuchen, die Beispielcodes mit den zu erklärenden Kommentaren anzugeben. Sehen Sie, ob es hilft;
Socket.io Zimmer
i) io.sockets.in (). emit ();
/* Send message to the room1. It broadcasts the data to all
the socket clients which are connected to the room1 */
io.sockets.in('room1').emit('function', {foo:bar});
ii) socket.broadcast.to (). emit ();
io.sockets.on('connection', function (socket) {
socket.on('function', function(data){
/* Broadcast to room1 except the sender. In other word,
It broadcast all the socket clients which are connected
to the room1 except the sender */
socket.broadcast.to('room1').emit('function', {foo:bar});
}
}
Socket.io
i) io.sockets.emit ();
/* Send message to all. It broadcasts the data to all
the socket clients which are connected to the server; */
io.sockets.emit('function', {foo:bar});
ii) socket.broadcast.emit ();
io.sockets.on('connection', function (socket) {
socket.on('function', function(data){
// Broadcast to all the socket clients except the sender
socket.broadcast.emit('function', {foo:bar});
}
}
Prost