FET,
jouw device opent een socket en stuurt af en toe een bericht om de verbinding open te houden. als er een bericht is, zend de server jouw een antwoord, en krijg je een melding.
om je batterij en databundel te sparen wordt er niet gepolled, maar kan er minuten tussen die berichten zitten.
het zit zo, als je een TCP verbinding opzet, dan registreren alle routers die tussen jou en de server zitten, dat er een 'pad' is.
al die routers hebben een time-out, en die kan vele minuten bedragen.
dus wat doet jouw smartphone, die opent een socket naar de server, krijgt een response, wacht een paar minuten, en stuurt een nieuw bericht. iedere keer wacht ie net wat langer, tot er een router is die zegt, "ik weet niets meer van deze connectie, begin maar opnieuw".
dan krijg je weer een syn/ack en open je een nieuwe socket, en weet je wat de maximale timeout is.