Socket IO V0.7: как отправить сообщение более чем одному конкретному клиенту - PullRequest
1 голос
/ 15 августа 2011

В версии 0.6 я использовал этот метод для отправки сообщения определенной группе клиентов. Он исключит клиентов с идентификаторами сеансов в массиве excludedClients и отправит всем не исключенным клиентам.

var excludedClients = [sessionID1, sessionID2, sessionID3];
io.broadcast(msg, excludedClients);
  1. Этот метод все еще применим в V0.7?
  2. Это лучший способ сделать это?

Надеюсь, что кто-нибудь может мне помочь, похоже, нигде нет надежной документации по Socket IO, только кратко объясненные примеры на странице github .

1 Ответ

4 голосов
/ 15 августа 2011
  1. Я верю в это;Посетите вики-страницу по миграции от 0,6 до 0,7 .

  2. Если ваши клиенты могут быть сгруппированы логически, вы можете использовать комнаты.

Комнаты

Иногда хочется положить кучу розеток в одну комнату и отправить им сообщение.Вы можете использовать комнаты, позвонив по номеру join, а затем с флагами to и in:

io.sockets.on('connection', function (socket) {
  socket.join('a room');
  socket.broadcast.to('a room').send('im here');
  io.sockets.in('some other room').emit('hi');
});
...