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
yii2
atom-editor
gerrit
keras
omnet++
minimum-spanning-tree
office365api
syntax
kalman-filter
gis
rdf
jxls
ojdbc
onelogin
azure-media-services
indesign
multiple-records
metatrader4
wheelnav.js
row
handsontable
postgres-xl
dynamics-crm-online
vaadin7
django-simple-history
jsdoc
footer
beyondcompare
jtextfield
orleans
cloudhub
tapestry
cas
underflow
internet-explorer-9
librato
repo
android-ble
wixsharp
stacked
az-application-insights
powershell-dsc
eigenvalue
import-from-excel
checkboxlist
errordocument
directory-structure
gcsfuse
sonarlint-vs
query-performance
root-framework
time-and-attendance
static-ip-address
elements
url-masking
file-writing
google-web-starter-kit
impresspages
connect-by
simplewebrtc
superstack
marching-cubes
kcachegrind
myo
apache-commons-fileupload
nsight
unity3d-gui
remobjects
device-orientation
jsonpickle
gadt
tablelayout
onactivityresult
article
dml
navigationservice
rebol3
algebraic-data-types
viadeo
fmod
page-layout
dataservice
flash-builder4.5
interface-orientation
referrer
e4x
multipage
cascalog
semantic-diff
adk
external-accessory
hirefire
horizontal-accordion
locationlistener
remember-me
rescale
avatar
private-members
genealogy
data-acquisition
.net-1.0
commodore

Resources

Mobile Apps Dev
Database Users
javascript
java
csharp
php
android
MS Developer
developer works
python
ios
c
html
jquery
RDBMS discuss
Cloud Virtualization
Database Dev&Adm
javascript
java
csharp
php
python
android
jquery
ruby
ios
html
Mobile App
Mobile App
Mobile App