[英]real time notifications using xmpp
我希望使用xmpp在我的应用程序中包含两个功能。 第一个是一对一聊天,几乎完成(使用strophe),第二个是实时通知,就像它在facebook中的工作方式一样。 我试图了解xmpp中的pubsub系统,但不觉得它适合这个特殊问题。 如果错误请更正,可能是因为没有正确理解概念。 我的要求是这样 - 任何用户都可以触发预定义的事件,当有人这样做时,在线的其他人应该收到相同的通知。 此外,我还想在发送之前检查用户是否更愿意接收通知。 我没有得到的是如果要使用pubsub,节点在哪里以及如何适合。 我可以只创建一个其他人都会订阅的节点吗? 在这种情况下,订户如何在不作为节点所有者的情况下在其上发布其事件?
我想到的另一种方法是将消息一个接一个地发送给所有用户的jids,标题类型或附加的有效负载说明<notif/>
以区别于普通消息。 这种方法是否可以考虑可扩展性?
但是,PubSub会起作用,你描述的内容更像是MUC
(多用户聊天)。
基本上,它创建了一个访问者可以加入的聊天室 (可能没有使用这个措辞),然后,当他们中的任何一个对聊天室发出消息时,所有人都会得到它 。 您当然可以配置只允许某些用户发布的配置。
由于您已经在浏览器上运行了一个客户端,使用Strophe,它应该相当容易。 只需确保您的服务器上正在运行此MUC组件 。
您正在尝试使用xmpphp库,即在需要时向多个jid发送消息,这是pub-sub或MUC可以为您做的事情。 :D因此,根据您的应用程序类型,您需要选择一个并继续尝试使用xmpp,当您继续时,事情应该变得清晰....
对于这种情况,Pubsub将是一个合适的解决方案。 它从我所看到的内容中处理您的所有要求。 如果您希望用户为每种消息类型订阅不同,则需要为每种事件类型设置一个节点(或者,可以在单个节点上使用过滤器,但我认为多个节点更容易)。 节点所有者可以允许任何人发布到节点,因此这不是问题。
提到了PEP,但如果您想要发布给不在您名单中的用户,则不是正确的解决方案。
如果消息传输的简单行为足够信息,Pubsub还允许您定义所需的消息内容类型或根本不定义消息。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.