Jan 11, 2008 6:44 AM
lost messages when network is disconnected
-
Like (0)
Hello all,
If our users lose their network connection for some reason they don't receive any messages until they come back online.
For example :
user A and user B are both online chatting back and forth
user B disables their network connection (Openfire Admin Console still shows session presence as online because the client never disconnected gracefully)
user A sends user B a message
user B comes back online, but never receives the message
We are running Openfire 3.4.1 .
Any thoughts ?
Thanks,
Dale
Do you have offline messages enabled on the server? Also that may not make a difference if the user does not disconnect properly.
Yes, offline messages is enabled and works fine, as long as, like you say, they disconnect properly.
Hey Dale,
Based on your description it seems like Openfire is not aware that the socket connection was lost and assumes that the client is still connected. I saw that problem happen when using a nat/router between the client and the server and for that we implemented a client timeout that will detect lost connections that for some reason the TCP layer didn't alert the JVM (i.e. Openfire) about the connection lost. By default the idle timeout is 6 minutes. However this solution leaves a time window where packets could be "lost" as you saw in your case. The final solution would be to use ACK to confirm the reception of each packet but that would be too expensive for a not common problem. Moreover, I think that a XEP for ACK is in progress but Openfire does not implement it.
Regards,
-- Gato
We do have the same issue, people can write messages for a long time after a client has been disconnected, and believe that the messages are delivered. XEP for ACK is a must to use Openfire for anything else than my home network (where it of course is running)
Hi
We have some problem.
I'm looking for XEp-0198 support but don't found.
The problem.
User A connect to server, user B connect to server.
User B set airplane mode. The server things user B is connected.
User A send message to user B. The message was received by the server and send to user B.
User B is offline and the server discard the message.
The message never return.
I see the XEp-0198 but Openfire don't support this.
How con i set the server to request message delivery and if the client don't respond store in offline message store?
Thanks