| <h2>MQTT Client Comparison</h2> |
| |
| <div class="panel panel-default"> |
| <div class="panel-body"> |
| <table class="table table-hover table-bordered table-condensed"> |
| <thead> |
| <tr> |
| <th>Client</th> |
| <th><a href="#" data-toggle="tooltip" data-placement="right" title="MQTT version 3.1 specification.">MQTT 3.1</a></th> |
| <th><a href="#" data-toggle="tooltip" data-placement="right" title="MQTT version 3.1.1 specification.">MQTT 3.1.1</a></th> |
| <th><a href="#" data-toggle="tooltip" data-placement="right" title="MQTT version 5.0 specification.">MQTT 5.0</a></th> |
| <th><a href="#" data-toggle="tooltip" data-placement="right" title="Last Will and Testament messages.">LWT</a></th> |
| <th><a href="#" data-toggle="tooltip" data-placement="right" title="Transport Layer Security or SSL.">SSL / TLS</a></th> |
| <th><a href="#" data-toggle="tooltip" data-placement="right" title="Can automatically reconnect to the server if the connection is lost.">Automatic Reconnect</a></th> |
| <th><a href="#" data-toggle="tooltip" data-placement="right" title="Will buffer messages whilst offline to send when the connection is re-established.">Offline Buffering</a></th> |
| <th><a href="#" data-toggle="tooltip" data-placement="right" title="Supports persisting messages incase of an application crash.">Message Persistence</a></th> |
| <th><a href="#" data-toggle="tooltip" data-placement="right" title="Can communicate to MQTT servers that support WebSockets.">WebSocket Support</a></th> |
| <th><a href="#" data-toggle="tooltip" data-placement="right" title="Can communicate to MQTT servers with support TCP.">Standard MQTT Support</a></th> |
| <th><a href="#" data-toggle="tooltip" data-placement="right" title="Supports Asynchronous APIs.">Blocking API</a></th> |
| <th><a href="#" data-toggle="tooltip" data-placement="right" title="Supports a blocking or 'single threaded' API.">Non-Blocking API</a></th> |
| <th><a href="#" data-toggle="tooltip" data-placement="right" title="If the client cannot connect to a server, fails over to an alternative(s).">High Availability</a></th> |
| |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <th scope="row"><a href="./clients/java/">Java</a></th> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| <td class="text-center warning"><i class="fa fa-times" aria-hidden="true"></i></td> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| </tr> |
| <tr> |
| <th scope="row"><a href="./clients/python/">Python</a></th> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| <td class="text-center warning"><i class="fa fa-times" aria-hidden="true"></i></td> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| <td class="text-center warning"><i class="fa fa-times" aria-hidden="true"></i></td> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| <td class="text-center warning"><i class="fa fa-times" aria-hidden="true"></i></td> |
| </tr> |
| <tr> |
| <th scope="row"><a href="./clients/js/">JavaScript</a></th> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| <td class="text-center warning"><i class="fa fa-times" aria-hidden="true"></i></td> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| <td class="text-center warning"><i class="fa fa-times" aria-hidden="true"></i></td> |
| <td class="text-center warning"><i class="fa fa-times" aria-hidden="true"></i></td> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| </tr> |
| <tr> |
| <th scope="row"><a href="./clients/golang/">GoLang</a></th> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| <td class="text-center warning"><i class="fa fa-times" aria-hidden="true"></i></td> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| <td class="text-center warning"><i class="fa fa-times" aria-hidden="true"></i></td> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| </tr> |
| <tr> |
| <th scope="row"><a href="./clients/c/">C</a></th> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| </tr> |
| <tr> |
| <th scope="row"><a href="./clients/cpp/">C++</a></th> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| <td class="text-center warning"><i class="fa fa-times" aria-hidden="true"></i></td> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| <td class="text-center warning"><i class="fa fa-times" aria-hidden="true"></i></td> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| </tr> |
| <tr> |
| <th scope="row"><a href="./clients/rust/">Rust</a></th> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| <td class="text-center warning"><i class="fa fa-times" aria-hidden="true"></i></td> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| <td class="text-center warning"><i class="fa fa-times" aria-hidden="true"></i></td> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| </tr> |
| <tr> |
| <th scope="row"><a href="./clients/dotnet/">.Net (C#)</a></th> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| <td class="text-center warning"><i class="fa fa-times" aria-hidden="true"></i></td> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| <td class="text-center warning"><i class="fa fa-times" aria-hidden="true"></i></td> |
| <td class="text-center warning"><i class="fa fa-times" aria-hidden="true"></i></td> |
| <td class="text-center warning"><i class="fa fa-times" aria-hidden="true"></i></td> |
| <td class="text-center warning"><i class="fa fa-times" aria-hidden="true"></i></td> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| <td class="text-center warning"><i class="fa fa-times" aria-hidden="true"></i></td> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| <td class="text-center warning"><i class="fa fa-times" aria-hidden="true"></i></td> |
| </tr> |
| <tr> |
| <th scope="row"><a href="./clients/android/">Android Service</a></th> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| <td class="text-center warning"><i class="fa fa-times" aria-hidden="true"></i></td> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| <td class="text-center warning"><i class="fa fa-times" aria-hidden="true"></i></td> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| </tr> |
| <tr> |
| <th scope="row"><a href="./clients/c/embedded">Embedded C/C++</a></th> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| <td class="text-center warning"><i class="fa fa-times" aria-hidden="true"></i></td> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| <td class="text-center warning"><i class="fa fa-times" aria-hidden="true"></i></td> |
| <td class="text-center warning"><i class="fa fa-times" aria-hidden="true"></i></td> |
| <td class="text-center warning"><i class="fa fa-times" aria-hidden="true"></i></td> |
| <td class="text-center warning"><i class="fa fa-times" aria-hidden="true"></i></td> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| <td class="text-center success"><i class="fa fa-check" aria-hidden="true"></i></td> |
| <td class="text-center warning"><i class="fa fa-times" aria-hidden="true"></i></td> |
| </tr> |
| |
| </tbody> |
| </table> |
| <script src="https://code.jquery.com/jquery-2.2.3.min.js" integrity="sha256-a23g1Nt4dtEYOj7bR+vTu7+T8VP13humZFBJNIYoEJo=" crossorigin="anonymous"></script> |
| |
| <script type="text/javascript"> |
| $(function () { |
| $('[data-toggle="tooltip"]').tooltip() |
| }) |
| </script> |
| |
| </div> |
| </div> |