Я использую Pusher транслировать мою Laravel событие, однако я столкнулся сомнение:Как организовать Pusher JS Library на стороне клиента, чтобы связать несколько каналов и прослушать несколько событий?
Если у меня есть канал, давайте назовем его global_updates
, который я хотел бы использовать для отправки глобальных обновлений, как новости или сайта статус так что я просто делаю:
var pusher = new Pusher('#################', {
encrypted: true
});
var channel = pusher.subscribe('global_updates');
channel.bind('global_event', function(data) {
// stuff
});
Итак, пока здесь все идет хорошо, но что, если я хотел бы потреблять несколько событий для одного канала? Как я могу это сделать? Должен ли я:
var pusher = new Pusher('#################', {
encrypted: true
});
var channel = pusher.subscribe('global_updates');
channel.bind('global_event', function(data) {
// stuff
});
channel.bind('global_event2', function(data) {
// stuff for other event
});
channel.bind('global_event3', function(data) {
// stuff for the 3rd event
});
Это хороший подход? Теперь, если я хотел бы отправить peruser сообщения вместе с глобальным, скажем, есть канал для пользователя с именем user_(user_id)
, но я все еще хочу использовать глобальные события. Должен ли я подписаться на оба одновременно?
var pusher = new Pusher('#################', {
encrypted: true
});
var channel = pusher.subscribe('global_updates');
var UserChannel = pusher.subscribe('user_(user_id)');
channel.bind('global_event', function(data) {
// stuff
});
UserChannel.bind('per_user_event', function(data) {
// stuff
});
Дело в том, я мог бы иметь как 100е зарегестрированным пользователям, но не уникальных пользователей, поскольку каждый из них может быть подписан на несколько каналов, даже если они не потребляют сообщения.
Что мне делать?