2012-03-13 2 views
0

То, что я прошу, может отличаться от группового нажатия, где коллекция клиентов обычно остается относительно постоянной.Используя SignalR, можно ли делать массовый толчок сообщений для меняющейся коллекции клиентов?

В системе уведомлений клиенты могут создавать события, на которые не подписаны не все остальные клиенты. Например, клиент указывает, что они не хотят получать уведомления о новых входах, но хотят знать, когда новая фотография публикуется только у определенных пользователей. Комбинации бесконечны и созданы «на лету», поэтому вы не можете делать групповой толчок.

В каждом случае будет создана новая коллекция клиентов, которая получит уведомление. Есть ли способ сделать это с помощью массового нажатия, а не отдельных личных сообщений?

Будет ли способ реализовать это для создания групп «на лету» (на стороне сервера), добавить клиентов в эту группу, а затем отправить сообщение этой группе?

Спасибо.

ответ

0

Я не понимаю, зачем вам нужны группы? Клиенты, подписавшиеся на мероприятие foo через:

$.connection.myHub.foo = function() { } 

Будет уведомлено о мероприятии. Где мы сейчас не так хороши, это динамическое создание и удаление событий, но эта поддержка будет улучшена.

Если вы хотите что-то динамическое, единственным вариантом будет использование групп.

+0

Пользователи могут подписаться на события, да, однако некоторые пользователи могут не захотеть увидеть какие-либо события от других пользователей или позволить пользователям видеть их события. Например, вы запретили пользователю просматривать ваши «события». Поэтому, когда вы входите в систему, если этот запрещенный пользователь также войдет в систему, он не увидит ваше «зарегистрированное» событие, но все остальные будут. Поэтому добавление всех действительных пользователей в группу уведомлений для этого события, а затем отправку в группу - это то, о чем я думал. Группа существует до тех пор, пока уведомление не будет отправлено, а не повторится через этот список и сделает отдельные частные отправления. Рекомендуемый метод? – ElHaix

+0

Использование групп. Следите за членством в другом месте и используйте группы, чтобы выбрать, какие клиенты должны получить какое сообщение. – davidfowl