long-polling


MQTT long polling over GPRS/HSDPA


I'd like to use MQTT to send control information to a device, but I'm concerned that leaving the MQTT client and cell data connection up (basically in long-polling mode) is somehow bad. Either from a data charges, network usage, battery life, or some other aspect?
Another approach might be to send an SMS to the device when it has a message to pick up - but that seems to defeat the purpose of MQTT and also introduces a long delay while dialing and setting up the GPRS connection.
Is there any reason I should be concerned on this approach?
I think this approach is quite valid - think of it this way: Your App's long polling transfers a very small volume of data, as long as it just polls, so
the data usage should be miniscule
the battery is impacted only for the data sent in addition to the keepalive, which is at least an order of magnitude higher than the long polling
as a reference: ActiveSync, which runs all the time, is nothing else than a fancy form of long polling
You may want to look at MQTT-SN, which is designed to run over UDP, and therefore does not need an active connection. Real Small Message Broker is an implementation of a MQTT-SN broker, and will bridge to Mosquitto.
The other approach is to use the retain flag on messages, that way a control app can send the message and the device will get it as soon as it reconnects, regards less of if the app is still online. In all cases, the user experience on the app side should differentiate between the request being sent and it being honored, or refused, so you will need tri-state controls (on, off, pending).

Related Links

Koa 2 router how to make a long poll request
Confluent long polling properties in kafka-rest
How to combine async and blocking requests in VuGen?
Long polling confusion
WAS Liberty & Atmosphere long-polling 1 min delay
Long Polling interval in atmosphere
MQTT long polling over GPRS/HSDPA
JS and CSS file fails to load when the page is refreshed in grails application which uses Atmosphere Meteor plugin
Security concerns in long polling
Kafka long polling
How to build the request for a long poll url for box.com
how to access enterprise events using Java code
Handle client timeouts when serving long polling with gevent
Long polling blocking multiple windows?
Long polling on a penny auction site?
Cannot implement long polling

Categories

HOME
testing
blogger
activiti
mockito
plone
homebrew
raspberry-pi
fme
malloc
twitter-bootstrap-4
jxls
ebean
android-youtube-api
session-variables
windows-10-universal
metatrader4
row
qt-creator
etl
spring-tool-suite
usergrid
django-cms
nodatime
cloudhub
google-search-api
mmap
javacv
apache-commons-io
chromebook
entitlements
minitab
publish
assistant
atlassian-crucible
quote
tasklet
google-rich-snippets
exuberant-ctags
android-nestedscrollview
restlet
starteam
user-controls
mime
azure-application-gateway
komodoedit
python-webbrowser
powercli
rdfs
lowpass-filter
statsd
colorama
nodebb
typed-lambda-calculus
xcb
instant
angstrom-linux
flash-cs5
bluegiga
ipconfig
uid
ora-00900
sdhc
endeca-workbench
varargs
twirl
sniffer
sortedlist
iiviewdeckcontroller
p2
apache-commons-net
lustre
php-5.4
google-reader
responsive-slides
c18
dexterity
sitemesh
runtime.exec
coverflow
gwt-rpc
back-stack
gridcontrol
orchardcms-1.7
ember-app-kit
enterprisedb
flashvars
google-email-migration
dice
tridion-worldserver
parametric-equations
bubble-chart
libc++
psi
site.master
nhibernate.search
ext3
phonon
sustainable-pace
mediarss
document-conversion

Resources

Encrypt Message



code
soft
python
ios
c
html
jquery
cloud
mobile