杰理之MQTT接口说明【篇】

本文详细介绍了MQTT协议库的使用,包括网络接口初始化、客户端初始化、网络层连接、MQTT协议层连接、主题订阅与取消订阅、消息发布以及断开连接等功能。这些函数为开发者提供了完整的MQTT通信流程,适用于物联网设备与服务器之间的数据交互。通过示例代码,读者可以快速理解如何在实际项目中应用这些功能。
摘要由CSDN通过智能技术生成

网络接口初始化

函数

void NewNetwork(Network *n)

描述

网络接口初始化

参数

n:Network结构体指针

返回值

void

客户端初始化

函数

void MQTTClient(Client *c, Network *network, unsigned int command_timeout_ms, unsigned char *buf, size_t buf_size, unsigned char *readbuf, size_t readbuf_size)

描述

客户端初始化

参数

c:Client结构体指针; network:Network结构体指针; command_timeout_ms:命令超时时间,单位:毫秒; buf:写缓存指针,内存由用户分配; buf_size:写缓存大小; readbuf:读缓存指针,内存由用户分配; readbuf_size:读缓存大小;

返回值

void

网络层连接

函数

int ConnectNetwork(Network *n, char *addr, int port)

描述

网络层连接

参数

n:Network结构体指针; addr:MQTT服务器地址; port:MQTT服务器端口;

返回值

0:成功 其他:失败

MQTT协议层连接

函数

int MQTTConnect(Client *c, MQTTPacket_connectData *options)

描述

MQTT协议层连接

参数

c:Client结构体指针; options:连接参数 ;

返回值

0:成功 其他:失败

主题订阅

函数

int MQTTSubscribe(Client *c, const char *topicFilter, enum QoS qos, messageHandler messageHandler)

描述

向MQTT服务器订阅主题

参数

c:Client结构体指针; topicFilter:订阅的主题; qos:订阅的服务质量等级; messageHandler:接收回调,当订阅的主题有信息下发时,在这里接收;

返回值

0:成功 其他:失败

取消订阅的主题

函数

int MQTTUnsubscribe(Client *c, const char *topicFilter);

描述

向MQTT服务器取消订阅的主题

参数

c:Client结构体指针; topicFilter:想要取消的主题;

返回值

0:成功 其他:失败

发布消息

函数

int MQTTPublish(Client *c, const char *topicName, MQTTMessage *message)

描述

发布消息

参数

c:Client结构体指针; topicFilter:消息发布主题; message:需要发布的消息;

返回值

0:成功 其他:失败

断开MQTT协议层连接

函数

int MQTTDisconnect(Client *c)

描述

断开MQTT协议层连接

参数

c:Client结构体指针; (注意:该接口调用后只是断开MQTT协议层的连接)

返回值

0:成功 其他:失败

阻塞等待数据接收

函数

int MQTTYield(Client *c, int timeout_ms)

描述

阻塞等待数据接收

参数

c:Client结构体指针; timeout_ms: 接收阻塞时间;(注意:该接口需要被循环调用)

返回值

0:成功 其他:失败

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Rambo-Lamborghini

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

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

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

打赏作者

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

抵扣说明:

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

余额充值