В то время я действительно интересовался 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
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});
}
}
Ура