powered by Jive Software

How to let openfire STOP respecting packets order

We have an app that using heavily custom IQ, we used that to transfer all type of data form simple call to loading big binary files. Now if we make 2 calls , the first will response with huge payload (1MB+) and the second with a tiny payload (<1KB) , openfire/smack, seem to always maintain the order of packets and we always get the first payload first, this is a good thing for a chat app, but not in our case, we want the lite stuff to pass. So my questions are :

  1. Is it really true that Openfire or Smack have a packet order mechanism ?
  2. if Q 1 is true, how to disable that
  3. What is my other options, should we open extra connection to retrieve the heavy packets ?

Thanks in advance !

try with async stanza listener with smack.

which type of stanza listener you have added.

1 Like
  1. The XMPP protocol (https://xmpp.org/rfcs/rfc3920.html#rules) actually says “Compliant server implementations MUST ensure in-order processing of XML stanzas between any two entities”, so yes, Openfire does have a packer order mechanism.

  2. You can’t.

  3. Yes, I’d suggest two connections, each with a different resource, one for the large packets.