2017-01-11 18 views
0

Что я хочу: Как я могу получить счет подписки после подписки на частный канал в pusher. Обычно я хочу частный чат между двумя пользователями.Pusher: Как получить счет подписки на частный канал в толкаче?

Что я знаю и чем занимаюсь:. Я знаю, что частный канал может быть подписан несколькими клиентами (пользователями). Поэтому всякий раз, когда сервер запускает данные в частный канал, все подписчики получают этот ответ.

канал подписки код в Java Script (Client-1):

<!DOCTYPE html> 
<head> 
    <title>Pusher Test</title> 
    <script src="https://js.pusher.com/3.2/pusher.min.js"></script> 
    <script> 

    // Enable pusher logging - don't include this in production 
    Pusher.logToConsole = true; 
    var pusher = new Pusher('PUSHER_KEY', { 
     authEndpoint: 'http://localhost:8080/medecube/rest/initial/pusher/auth', 
     auth: { 
      headers: { 
      'X-CSRF-Token': "12345" 
      } 
     } 

    }); 

    var channel = pusher.subscribe('private-channel'); 
    channel.bind('pusher:subscription_succeeded', function() { 
     var triggered = channel.trigger('client-myEvent', { "message": "i am pusher client1" }); 
     }); 

    </script> 
</head> 

Одинаковый канал подписался клиентом 2 канал подписки код в Java Script (Client-2):

<!DOCTYPE html> 
<head> 
    <title>Pusher Test</title> 
    <script src="https://js.pusher.com/3.2/pusher.min.js"></script> 
    <script> 

    // Enable pusher logging - don't include this in production 
    Pusher.logToConsole = true; 
    var pusher = new Pusher('PUSHER_KEY', { 
     authEndpoint: 'http://localhost:8080/medecube/rest/initial/pusher/auth', 
     auth: { 
      headers: { 
      'X-CSRF-Token': "12345" 
      } 
     } 

    }); 

    var channel = pusher.subscribe('private-channel'); 
    channel.bind('pusher:subscription_succeeded', function() { 
     var triggered = channel.trigger('client-myEvent', { "message": "i am pusher client2" }); 
     }); 

    </script> 
</head> 

Событие Триггер по серверу:

Толкатель: Event recd : {"event":"client-myEvent","data":{"message":"i am pusher client2"},"channel":"private-channel"}

Затем оба клиента получают одинаковый отклик. Я хочу, чтобы только один пользователь подписал только 1 канал.

ответ

1

Для получения информации о members in a channel вам необходимо использовать каналы присутствия. В вашем случае вы можете получить количество подписчиков с var count = presenceChannel.members.count;.

1

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

https://pusher.com/docs/rest_api#method-get-channel

 Смежные вопросы

  • Нет связанных вопросов^_^