Understanding the less popular push/streaming protocols (XMPP, CoAP, MQTT, etc.)