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
cakephp
multithreading
client
proxy
cookies
omnet++
ngrx
comparison
grep
rsyslog
cvs
spring-cloud-stream
paw-app
amazon-ecs
retrofit
baqend
echarts
mouse
python-unittest
google-translate
fortumo
hapi
solaris-10
interop
jprofiler
plunker
realex-payments-api
cultureinfo
javacv
fish
intel-pin
pingfederate
publish
atlassian-crucible
webkitspeechrecognition
c++-amp
google-cloud-nl
newline
react-chartjs
junit5
accelerate-framework
cloud-code
nssegmentedcontrol
xcode-extension
xenforo
squib
modelmapper
reactive-cocoa-5
businessworks
apache-fop
jquery-nestable
theming
mu
idisposable
nstextview
nativeapplication
carrot
kbuild
boost-preprocessor
gnome-shell-extensions
color-picker
asp.net-4.5
contact-list
lua-5.1
superstack
bgp
dlna
apachebench
ptrace
uid
msys
cartesian-product
qdialog
ionic
php-ci
angular-local-storage
inmobi
system.reflection
clicktag
jsonpickle
coldbox
id3v2
onactivityresult
zend-route
openexr
has-many-through
navigationservice
doskey
access-rights
dexterity
tws
mylyn
chronoforms
flashvars
pvrtc
cisco-jtapi
cufon
disclosure
gin
fixed-width
substrings
avatar
xetex
zune
dbisam

Resources

Database Users
RDBMS discuss
Database Dev&Adm
javascript
java
csharp
php
android
javascript
java
csharp
php
python
android
jquery
ruby
ios
html
Mobile App
Mobile App
Mobile App