blob: 9e77b3e98a1c4e750dc44613f0408eda3f4e4ef1 [file] [log] [blame]
<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>