如何使用推送器显示页面上有多少用户
How do I show how many users are on a page with pusher
我正在尝试设置房间内最多有两个人的在线教室...我仍然不希望老师看到他何时连接以及学生何时连接。
我正在尝试获取使用 Pushers members.me 函数连接的用户数量,但我收到的错误信息是...
members is undefined
这是我的代码:
$(function(){
/**
*
*/
var pusher = {
/**
*
*/
init: function(){
this.p = new Pusher('12345678910', {
cluster: 'eu',
authEndpoint: '<?php echo base_url('websockets/auth'); ?>',
// encrypted: true
});
// channels
this.channel1 = this.p.subscribe('private-messages');
this.channel2 = this.p.subscribe('private-slides');
// binding channels to events
this.channel1.bind('client-message-triggered', function(data){
chatbox.showMessage(data);
});
this.channel2.bind('client-slide-triggered', function(data){
users = pusher.channel2.members.me;
console.log(users);
slider.showCard(data.card_id);
});
},
}
pusher.init();
问:
如何获取使用频道(例如上面的频道 2)的用户数量?
您需要使用状态频道而不是私人频道。您可以在这里找到更多关于它们的信息:https://pusher.com/docs/client_api_guide/client_presence_channels
不过,简短的总结是您的频道应该改名为 presence-slides
。
我正在尝试设置房间内最多有两个人的在线教室...我仍然不希望老师看到他何时连接以及学生何时连接。
我正在尝试获取使用 Pushers members.me 函数连接的用户数量,但我收到的错误信息是...
members is undefined
这是我的代码:
$(function(){
/**
*
*/
var pusher = {
/**
*
*/
init: function(){
this.p = new Pusher('12345678910', {
cluster: 'eu',
authEndpoint: '<?php echo base_url('websockets/auth'); ?>',
// encrypted: true
});
// channels
this.channel1 = this.p.subscribe('private-messages');
this.channel2 = this.p.subscribe('private-slides');
// binding channels to events
this.channel1.bind('client-message-triggered', function(data){
chatbox.showMessage(data);
});
this.channel2.bind('client-slide-triggered', function(data){
users = pusher.channel2.members.me;
console.log(users);
slider.showCard(data.card_id);
});
},
}
pusher.init();
问:
如何获取使用频道(例如上面的频道 2)的用户数量?
您需要使用状态频道而不是私人频道。您可以在这里找到更多关于它们的信息:https://pusher.com/docs/client_api_guide/client_presence_channels
不过,简短的总结是您的频道应该改名为 presence-slides
。