之前我们已经用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实例的用户名和密码