最近在使用Paho的MQTT客户端,由于英语看着有点慢,因此将其翻译为中文,与大家共享。由于英语水平有限,如有翻译不对之处,请帮忙指出。
MQTT客户端C语言库
MQTT客户端的C语言库.© Copyright IBM Corp. 2009, 2017.
这些页面描述了早期的通常被认为更容易使用同步API.(同步API)一些调用将会阻塞。对于新的完全异步的无阻塞API,尤其适合在视窗化的环境中使用(可参见MQTT C Client Asynchronous API Documentation)。 MQTTClient API不是线程安全的,而MQTTAsync API是线程安全的。
MQTT客户端程序连接到具有MQTT功能的服务器。典型的客户端负责从遥测设备收集信息并将信息发布到服务器。它还可以订阅主题, 接收消息, 并使用这些信息来控制遥测设备。
MQTT客户实现了已发布的MQTT v3协议。您可以使用您选择的编程语言和平台编写自己的MQTT协议API。这可能会很费时且容易出错。使用此库只需要很少的代码就可以写出功能齐全的mqtt客户端应用程序。这里提供的信息记录了MQTT客户端C语言库提供的API。
使用客户端
使用客户端库的应用程序通常使用类似的结构:
1.创建一个客户端对象;
2.设置连接MQTT服务器的选项;
3.如果多线程(异步模式)操作被使用则设置回调函数(详见 Asynchronous vs synchronous client applications);
4.订阅客户端需要接收的任意话题;
5.重复以下操作直到结束:
a.发布客户端需要的任意信息;
b.处理所有接收到的信息;
6.断开客户端连接;
7.释放客户端使用的所有内存。下面展示了一些简单的示例: