Most MQTT brokers provide native support for WebSockets, thus enabling any MQTT browser-based client library (like Eclipse Paho JavaScript Client) to communicate with the broker by encapsulating MQTT messages into WebSocket frames: this is called MQTT Over WebSocket.

However, letting MQTT messages simply flow without any kind of optimization make WebSocket no more than a dumb pipe, where you risk to overload the network and the browser.

And then came the day of MQTT.Cool, with adaptive throttling.

read more