NikTalk
Hi!大家好,我是Nik。一名在人工智能+物联网行业混迹多年的AIOT架构工程师兼产品经理。欢迎您来到我的博客!这里记录了我的AIOT职业生涯,从最开始的一名普通嵌入式软件工程师->到嵌入式系统工程师->再到AIOT架构师兼产品经理一路上的所学所感所得。希望这些知识,经验,技术以及感悟对后来的你,在技术学习以及职业发展的道路上有所帮助。记得关注我,我将不定期分享一些AIOT相关的技术和行业信息。唯一微信号:aiotnik

之前我们已经用mosquitto命令行实现了与腾讯云的通信,现在我们就要编程实现与腾讯云的通信啦。

在写代码之前,我们要先了解mosquitto常用的一些函数以及它的功能、使用、使用流程。

mosquitto常见函数
函数有点多,可以先大概看一看功能

1. int mosquitto_lib_init( void )函数:(初始化)
必须在调用任何其他mosquito函数之前调用。此函数不是线程安全的(线程安全:多个线程访问同一个对象时,调用这个对象的行为都可以获得正确的结果),也就是说mosquitto要第一个使用。
返回值总是 MOSQ_ERR_SUCCESS。

2. int mosquitto_lib_cleanup( void ):
函数功能:释放调用的资源和相关的库
返回值:总是为MOSQ_ERR_SUCCESS

3. void mosquitto_destroy( struct mosquitto * mosq )
函数功能:用于释放与mosquitto客户端实例关联的内存,第一个参数为mosquitto创建实例返回的mosq指针。

**4. struct mosquitto *mosquitto_new(const char id,bool class_session,void obj)
函数功能: 创建一个客户端实例
参数说明:
id:用作客户端ID的字符串;为NULL时则随机生成一个ID并将class_session设置为true(创建的)
class_session:设置为true时指示代理在断开连接时清除所有消息和订阅,设置为false指示代理保留它们
obj :作为参数传递给指定的任何回调的用户指针。后面传进回调函数的指针
返回值:成功时返回结构mosquitto的指针;失败时返回NULL。

5. int mosquitto_username_pw_set( struct mosquitto * mosq, const char * username, const char * password )
函数功能 :配置mosquito实例的用户名和密码