Node.js був чимось, що мене дуже цікавило, і я використав це в одному зі своїх проектів, щоб зробити багатокористувацьку гру.
io.sockets.in().emit()
і socket.broadcast.to().emit()
є основними двома методами випромінювання, якими ми користуємося в кімнатах Socket.io ( https://github.com/LearnBoost/socket.io/wiki/Rooms ). Номери дозволяють провести простою секціонування підключених клієнтів. Це дозволяє передавати події разом із підмножинами списку підключених клієнтів та дає простий метод управління ними.
Вони дозволяють нам керувати підмножинами списку підключених клієнтів (які ми називаємо номерами) і мають подібні функції, як основні функції socket.io io.sockets.emit()
та socket.broadcast.emit()
.
У будь-якому випадку я спробую навести приклади кодів із коментарями, щоб пояснити. Подивіться, чи допомагає це;
Socket.io Кімнати
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
і) 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});
}
}
Ура