About openfire message protection mechanism

When a client A is connected openfire server, if client A sudden disconnection. Server is unable to be detected immediately.

And this time the question is: When the client B A message to the client is still, in fact, A has been disconnected, this time the message has been lost.

In openfire service from there to the client sends a ping message mechanism, but if ping message transmission time interval is too small, the server will have a great impact on the efficiency. If the ping test time is too long, then the client disconnects that moment (may be a few seconds) can not receive messages. Does everyone on this question did not have any good treatment options.


XEP-0184 Message Delivery Receipts should help with this. Well, you will see that your message wasn’t delivered, but messages would still be lost if a connection lost was between pings. This XEP is a client feature. So, your client has to support that. Spark doesn’t have this yet:


discussion http://community.igniterealtime.org/message/209965#209965