I want to build a backend application to push messages from server to android devices.And I found there two protocols are suit the situation.I'd like to use RabbitMQ or mosquitto server for each of them(If there is other good choices please tell me too :-) ).Considering about poor network situation,battery using and server performance.Which solution is suit for me ?
I also found C2DM service.But it has two problem in my situation.Firstly it only supported Android 2.2 and later versions.Secondly the service in China is not always stable.So that is why I want to build my own push service.
MQTT vs AMQP: Understanding the Differences Both MQTT and AMQP run over TCP connections, both are client-server in architecture and bi-directional. AMQP was designed to provide general purpose high performance enterprise messaging, whereas MQTT was created as an IoT protocol.
The main reason why is MQTT's open-source design and lightweight stature make it well suited to connect disparate devices to supervisory control and data acquisition (SCADA) systems as well as other industrial networks.
Like any other binary protocol, MQTT has an edge over text protocols in machine-to-machine communication. Devices can send and receive the binary data without extra processing, which speeds up the messaging within the network. MQTT transmits messages in packets.
MQTT is a communication protocol with features specifically targeted at IoT solutions: Uses TCP connections, for reliability (assured delivery and packet error checking), fragmentation and ordering. Aims to minimize data overhead of each MQTT packet.
MQTT was explicitly built for devices with limited resources and is therefore very light on battery by comparison to other protocols. It is also designed for unreliable TCP networks. Worth taking a closer look.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With