2017-01-11 1 views
0

私が欲しいもの: pusher.Actually私はわずか2人の間でプライベートチャットをしたいプライベートチャンネルのサブスクリプションの後にサブスクリプションカウントを得ることができます。プッシャー:プッシャーでプライベートチャンネルサブスクリプションカウントを取得するには?

私が知っていることとやっていること:。私はプライベートチャンネルが複数のクライアント(ユーザ)によって購読可能であることを知っています。それで、サーバがプライベートチャンネルにデータをトリガーするときはいつでも、購読しているすべてのユーザがそのレスポンスを受け取ります。

チャンネルジャバスクリプト(クライアント-1)でのサブスクリプションコード:Javaスクリプト(クライアント-2)で、クライアント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 client1" }); 
     }); 

    </script> 
</head> 

同じチャンネル:

<!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チャンネルしか購読しないようにしたい。

答えて

1

members in a channelについての情報を得るには、のプレゼンスチャネルを使用する必要があります。あなたの場合、var count = presenceChannel.members.count;で加入者数を得ることができます。

1

プライベートチャネルのサブスクリプションカウントを取得することは可能ですが、プレゼンスチャネルを使用する必要はありません。

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

:しかし、あなたはそれがデフォルトで有効になっていないとして明示的にあなたのプッシャーのダッシュボードを経由してその機能を有効にする必要がプライベートチャンネルのサブスクリプションの数を取得します
関連する問題