【问题标题】:Pusher: How to get private channel subscription count in pusher?Pusher:如何在 pusher 中获取私人频道订阅数?
【发布时间】:2017-05-26 01:16:12
【问题描述】:

我想要什么:订阅推送器中的私人频道后如何获得订阅数。实际上我只想在 2 个用户之间进行私人聊天。

我所知道的和正在做的事情:。我知道我的私人频道可以被多个客户(用户)订阅。所以每当服务器触发数据到私人频道时,所有订阅的用户都会得到那个响应。

java脚本中的频道订阅代码(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脚本中的频道订阅代码(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 个频道。

【问题讨论】:

    标签: javascript java jax-rs pusher


    【解决方案1】:

    您需要使用存在渠道来获取有关members in a channel 的信息。在您的情况下,您可以使用var count = presenceChannel.members.count; 获取订阅者数量。

    【讨论】:

      【解决方案2】:

      可以获取私人频道的订阅数,您不必使用在线频道。但是,要获取私人频道的订阅计数,您必须通过 Pusher 仪表板明确启用该功能,因为默认情况下未启用该功能:

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

      【讨论】:

        猜你喜欢
        • 2014-07-15
        • 2017-05-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-08-10
        • 2016-02-24
        • 2016-07-14
        • 2015-06-05
        相关资源
        最近更新 更多