xmpp Smack线程和Android线程

时间:2017-09-18 07:43:56

标签: android multithreading xmpp smack

我是这个论坛的新手,但我已经开发了一个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的每一条消息,没关系,但看起来每条消息(收到的节)都在新线程中,所以我不能按到达顺序对消息进行排序。所以,我的问题如下:

  • 有没有办法按顺序(在同一个线程内)为每个jid及其jid中的每条消息接收所有MAM消息节?

关于这个主题,我想知道我是否可以创建许多StanzaListener来分组不同类型的调用。如果可以的话,实现RxJava并添加侦听器只会阻止数据包,并在我的操作完成后删除它们将会很酷。实际上,我只有一个StanzaListener(称为MyPacketInterceptor)正在侦听每个数据包。

提前致谢!

0 个答案:

没有答案