Javascript Pusher.com-如何使用频道
我正在开发一个web应用程序,用户可以在其中相互连接和聊天。因此,每个聊天室都有两个用户。我有一些关于Pusher API的一般性问题,() 第一个问题。Pusher让你有20个免费的并发连接——这是否意味着我可以同时进行10次聊天?(每次聊天在两个客户端之间进行。) 第二个问题。我应该如何构建我的频道?每个聊天应该有一个频道吗?(如果有10次聊天,那么有10个频道。)最好的方式是什么 这是否意味着我可以同时进行10次聊天 是的,根据他们的支持论坛帖子 我应该如何构建我的频道?每个频道应该有一个频道吗 聊天 在最基本的设置中,每个聊天都有一个频道。但在大多数情况下,还有其他通道用于传达其他用户和其他功能的存在。一个好的开始是他们的工作 这是否意味着我可以同时进行10次聊天 实际上,你可以拥有更多。如果一个人只能和一个人说话,你将有10条,但是你会受到计划中消息数量的限制 我应该如何构建我的频道?每个频道应该有一个频道吗 聊天 这取决于你是否关心知道:谁一直在线,以及你是否想减少Pusher为优化你的计划而花费的状态信息数量 选项1: 每个用户订阅一个以他的名字命名的频道,并收听其事件 user1将订阅presence-user1频道,并绑定到此频道上的*message_received*事件:Javascript Pusher.com-如何使用频道,javascript,pusher,Javascript,Pusher,我正在开发一个web应用程序,用户可以在其中相互连接和聊天。因此,每个聊天室都有两个用户。我有一些关于Pusher API的一般性问题,() 第一个问题。Pusher让你有20个免费的并发连接——这是否意味着我可以同时进行10次聊天?(每次聊天在两个客户端之间进行。) 第二个问题。我应该如何构建我的频道?每个聊天应该有一个频道吗?(如果有10次聊天,那么有10个频道。)最好的方式是什么 这是否意味着我可以同时进行10次聊天 是的,根据他们的支持论坛帖子 我应该如何构建我的频道?每个频道应该有一个
var channel = pusher.subscribe('user1');
channel.bind('message_received', function(message){
console.log('Message received : ');
console.log(message);
});
当用户1想要联系用户2时,他们只需触发一个*message_received*并将消息和一些元数据传递给它:
var channel2 = pusher.subscribe('user2');
channel2.trigger('message_received',{
message:'hey',
sender:'user1',
sent_on:helpers.date()
});
有非常好的文档和非常整洁的api
因为我们在这里使用的是状态通道,所以您也可以获得您关心的用户的状态信息
[编辑]请注意,通过这种方式,所有订阅user1频道的用户都会收到有关在其频道上发送的消息的通知,这是一种次优方式!更好的方法是在两个用户之间创建频道。有很多方法可以设计你的应用程序,但我认为前面的代码应该给你一个基本的想法
选项2:
创建一个“全部显示”房间。每个用户都连接到其中,然后通过“名称空间事件”发送私人消息,因此,例如,user1将绑定到user1:message\u在presence\u all通道上收到。这种方法的问题是开销,但是如果您不希望出现大量的通信量,那么可以使用这种方法,因为它更直接地编写代码
或者创建一种混合方法,一种用于显示,另一种用于交换消息。你应该检查一下[https://pusher.tenderapp.com/kb/accountsbillingplanspricing/how-is-my-message-count-calculated][这位]推动者详细解释了他们如何为信息定价
我希望这有帮助