Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/442.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在xmpp中创建所有聊天、群组消息和不同pubsub发布的个人聚合_Java_Javascript_Web Services_Xmpp_Openfire - Fatal编程技术网

Java 在xmpp中创建所有聊天、群组消息和不同pubsub发布的个人聚合

Java 在xmpp中创建所有聊天、群组消息和不同pubsub发布的个人聚合,java,javascript,web-services,xmpp,openfire,Java,Javascript,Web Services,Xmpp,Openfire,对不起,可能是一个不切实际的问题和我的英语。。我想用我的xmpp客户端创建所有消息(聊天、群组)和帖子(来自pubsub服务)的个人聚合(例如,来自不同pubsub的新私人消息和帖子将聚合在一个地方(已读和未读的消息)。此外,是否可以通过不同资源上的帖子接收此聚合流(即使某些消息已在一台设备上读取,但并非所有消息都已在该设备上读取) xmpp是否可以实现这一点?我是否必须创建一个专用的个人(用户)pubsub,将所有消息转发(发布)到该pubsub(或者是一种Web服务,可以访问“收件箱”表来存

对不起,可能是一个不切实际的问题和我的英语。。我想用我的xmpp客户端创建所有消息(聊天、群组)和帖子(来自pubsub服务)的个人聚合(例如,来自不同pubsub的新私人消息和帖子将聚合在一个地方(已读和未读的消息)。此外,是否可以通过不同资源上的帖子接收此聚合流(即使某些消息已在一台设备上读取,但并非所有消息都已在该设备上读取)

xmpp是否可以实现这一点?我是否必须创建一个专用的个人(用户)pubsub,将所有消息转发(发布)到该pubsub(或者是一种Web服务,可以访问“收件箱”表来存储消息).因此,无论我的哪个客户端先上网,都会从不同的pubsub收集私人消息和帖子,然后转发到专用的pubsub(或web服务)因为所有的客户都订阅了专用的pubsub,所以我的其他资源将从哪个渠道获得这些消息。我的想法正确吗?我希望我在这里写的不全是垃圾

或者这有XEP吗


请,请帮助..

为了能够通知和监视不同设备上的其他客户端,同时需要在不同的客户中将哪些消息标记为未读,您需要编写大量的样板代码

当然,您需要一个集中式web服务来接收post流(与您的客户机并行,或者首先它将接收它们,然后发送到客户机).Pub/sub适用于此应用程序,但您还需要从客户端向服务发送一些附加数据,如上次读取邮件的时间戳(以便将所有较新邮件标记为未读)

我认为最简单的方法是将webservice用作一个网关,在这个网关中,所有的流最初都会被定向,并且您还可以在这里监视交付的内容以及发送到哪个客户端


希望它能有所帮助

我已经在使用xmpp(或jabber协议)了,我想用“pubsub”的概念来实现它在xmpp术语中。如果订阅者只需在pubsub服务上更新消息xml节,即他已经阅读了特定的消息,那就容易多了。但我不确定这是否可能,我想也不可能。我不认为你只能在客户端上使用pubsub来完成。pubsub只是用于后期检索,而不是用于管理后期状态和数据在具有复杂策略的不同客户端/设备之间分发。是的,我知道这一点,但如果我创建一个新的“mypubsub”服务,其中所有消息都将通过在线客户端转发到该服务,该怎么办?然后,如果客户端读取消息,它将发布“读取”消息通过Web服务标记并更新数据库中的邮件。将联机的新资源(我的其他客户端)将从“mypubsub”检索邮件,并搜索“read”标记,如果存在,则将邮件标记为已阅读。您认为这可能是一个解决方案吗?还是我应该创建一个新的收件箱表(也转发msges)使用“read”列并从中检索邮件。不应修改原始的pubsub服务,因为它可以与其他已订阅的客户端公开。但我的意思是一个新的pubsub(个人收件箱),其中只有我的JID已订阅,但我的所有资源都将从中检索邮件。