我是这个论坛的新手,但我已经开发了一个XMPP Smack Android应用程序,我对smack行为和线程有一些疑问。我来啦: 我从名册中获取了他们与JID的联系人,有了这些,我发送了一个MAM节来获取历史,就像那样:
<iq type='get' id='downloadMessages'>
<query xmlns='urn:xmpp:mam:tmp'>
<with>user@myserver.com</with>
<set xmlns='http://jabber.org/protocol/rsm'>
<max>30</max>
<before/>
</set>
</query>
</iq>
有了这个,我在我的StanzaListener上收到来自这个JID的每一条消息,没关系,但看起来每条消息(收到的节)都在新线程中,所以我不能按到达顺序对消息进行排序。所以,我的问题如下:
关于这个主题,我想知道我是否可以创建许多StanzaListener来分组不同类型的调用。如果可以的话,实现RxJava并添加侦听器只会阻止数据包,并在我的操作完成后删除它们将会很酷。实际上,我只有一个StanzaListener(称为MyPacketInterceptor)正在侦听每个数据包。
提前致谢!