int MQTTClient_create | ( | MQTTClient * | handle, |
const char * | serverURI, | ||
const char * | clientId, | ||
int | persistence_type, | ||
void * | persistence_context | ||
) |
此函数创建一个 MQTT 客户端,准备连接到指定的服务器并使用指定的持久存储
1.指向 MQTTClient 句柄的指针。从此函数成功返回后,将使用有效的客户端引用填充句柄。
2.一个以 null 结尾的字符串,指定客户端将连接到的服务器。它采用协议://主机:端口的形式。目前,协议必须是 tcp 或 ssl。对于主机,可以指定 IP 地址或主机名。例如,要连接到使用默认 MQTT 端口在本地计算机上运行的服务器,请指定 tcp://localhost:1883。
3.客户端连接到服务器时传递给服务器的客户端标识符。它是一个以空结尾的 UTF-8 编码字符串。
4.客户端要使用的持久性类型。
使用内存中持久性。如果运行客户端的设备或系统出现故障或关闭,则任何正在传输的消息的当前状态都将丢失,并且某些消息即使在 QoS1 和 QoS2 下也可能无法传递。
MQTTCLIENT_PERSISTENCE_DEFAULT
使用默认(基于文件系统)持久性机制。有关动态消息的状态保存在持久存储中,并提供一些保护,防止在意外故障时丢失消息。
使用特定于应用程序的持久性实现。使用这种类型的持久性可以控制应用程序的持久性机制。应用程序必须实现MQTTClient_persistence接口。
5.如果应用程序使用MQTTCLIENT_PERSISTENCE_NONE持久性,则此参数未使用,应设置为 NULL。对于MQTTCLIENT_PERSISTENCE_DEFAULT持久性,应将其设置为持久性目录的位置(如果设置为 NULL,则使用的持久性目录是工作目录)。使用MQTTCLIENT_PERSISTENCE_USER持久性的应用程序将此参数设置为指向有效的MQTTClient_persistence结构。