mosquitto软件编程

使用mosquitto库函数前,要先初始化,使用之后要清除:
int mosquitto_lib_init(void);
int mosquitto_lib_cleanup();

	/*新建客户端*/    
struct mosquitto *mosquitto_new(    
const char *id,//用户自定义标识ID    
bool clean_session,//断开后是否保留订阅信息
true/false    void *userdata//回调参数    
);

      *释放客户端*/
 void mosquitto_destroy(struct mosquitto *mosq);

参考接口函数:
在这里插入图片描述
订阅:

//订阅
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <stdint.h>
#include <mosquitto.h>
#include <time.h>
// 消息回调
void my_message_callback(struct mosquitto *mosq, void *obj, const \                
				struct mosquitto_message *msg)
{    
time_t t;    
struct tm *lt;                                                                                                            printf("%d:topic(%s)->%s\n",__LINE__,(char *)msg->topic,\                
				(char *)msg->payload);
}
int main(int argc,char *argv[]){                                                                                                                             struct mosquitto *m_hMqtt;    
char *topic1 = "temp";
//初始化lib库函数    
mosquitto_lib_init();    
// 定义一个客户端名为subtest的发布端。客户端表示订阅端的唯一性    
m_hMqtt = mosquitto_new("subdemo", true, "data");        
//订阅回调                                                                                                           mosquitto_message_callback_set(m_hMqtt, my_message_callback);        
//连接服务器(代理器)    
mosquitto_connect(m_hMqtt, "49.232.150.163", 1883, 2);    
//订阅消息    
mosquitto_subscribe(m_hMqtt,NULL,topic1,1);    
/* 阻塞等待 */    
mosquitto_loop_start(m_hMqtt);       
mosquitto_loop_stop(m_hMqtt, false);    
mosquitto_destroy(m_hMqtt);    
mosquitto_lib_cleanup();    
return 0;
}

发布:

//发布
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <stdint.h>
#include <mosquitto.h>
#include <time.h>
int main(int argc,char *argv[]){                                                                                                                             struct mosquitto *m_hMqtt;    
char *topic1 = "temp";    
char *content = "27.5";        
//初始化lib库函数    
mosquitto_lib_init();    
// 定义一个客户端名为subtest的发布端。客户端表示订阅端的唯一性    
m_hMqtt = mosquitto_new("pubdemo", true, "data");       
mosquitto_connect(m_hMqtt, "49.232.150.163",1883, 2);
mosquitto_publish(m_hMqtt,NULL,topic1,strlen(content)+1,content,1,true);        
mosquitto_destroy(m_hMqtt);    
mosquitto_lib_cleanup();   
return 0;
 }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小卡丘

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值