[Android client] Keepalive

Started by ofca, March 30, 2016, 03:51:36 AM

Previous topic - Next topic

ofca

Android client is losing connection to the server (even on wifi), and carries on as nothing happened. I think it should expect a keepalive packet from the server every [$configurable_interval] seconds and should it miss [$configurable_amount] packets, it should attempt reconnect. This might also possibly affect desktop client; happened to me at least once, but it's not as big a of a problem, since desktop connections tend to be more stable.

Marco Incalcaterra

Quote from: ofca on March 30, 2016, 03:51:36 AM
Android client is losing connection to the server (even on wifi), and carries on as nothing happened. I think it should expect a keepalive packet from the server every [$configurable_interval] seconds and should it miss [$configurable_amount] packets, it should attempt reconnect. This might also possibly affect desktop client; happened to me at least once, but it's not as big a of a problem, since desktop connections tend to be more stable.

Android client receives broadcast notification from OS, so when the connection drops or is re-established the app should disconnect and reconnect according to that behaviour (unless something is changed in recent versions of OS) .
Did you notice a specific situation when this doesn't happens?

Best regards,
Marco.

ofca

No pattern, except maybe for moving through some poor-coverage areas. It just reliably becomes quiet after some time, no alerts, no nothing -- only reconnect helps. And it's not only my problem -- it happens on totally different phone with stock os too. Sending keepalives and reacting to lack of them should be bulletproof.

Marco Incalcaterra

#3
Quote from: ofca on March 31, 2016, 07:34:49 AM
Sending keepalives and reacting to lack of them should be bulletproof.

In theory, receiving properly the connection notification from Android should have the same result. I have the impression that the poor coverage can be the culprit: in that case I guess that the app isn't able to properly handshake with the server going in timeout without retrying properly... I'll try to investigate.

I've opened an issue:

https://dev.raden.solutions/issues/1198

Regards,
Marco

ofca

Actually it isn't the culprit. Or at least is one of many: same thing happens overnight on my home wifi, and there were no outages.

Marco Incalcaterra

Quote from: ofca on April 05, 2016, 03:19:55 PM
Actually it isn't the culprit. Or at least is one of many: same thing happens overnight on my home wifi, and there were no outages.

Thank you for adding info, the problem needs a deeper investigation. I'll post news when available.

Regards,
Marco

ofca

I recently upgraded netxms and android client to 2.0.4 and unfortunately this is still unresolved. Client locks in some magic state, where not only it doesn't supply any notifications about alarms, but after bringing it to foreground and taping 'alarms' it keeps 'gathering data...' for few moments and then shows 'No items to show...'. Main menu shows 'Connected to server x.x.x.x'. Selecting reconnect fixes this.

On a side note, alert filtering works flawlessly - thank you :)

Marco Incalcaterra

Quote from: ofca on June 27, 2016, 11:34:10 AM
I recently upgraded netxms and android client to 2.0.4 and unfortunately this is still unresolved. Client locks in some magic state, where not only it doesn't supply any notifications about alarms, but after bringing it to foreground and taping 'alarms' it keeps 'gathering data...' for few moments and then shows 'No items to show...'. Main menu shows 'Connected to server x.x.x.x'. Selecting reconnect fixes this.

On a side note, alert filtering works flawlessly - thank you :)

Hi!,

it is still unresolved (as per issue https://dev.raden.solutions/issues/1198 not yet closed) because I did not find time to investigate, I'm sorry  :(

Regards,
Marco