MQTT--mosquitto库常用结构体

本文介绍了mosquitto库中mosquitto结构体和mosquitto_message结构体的使用,包括客户端连接句柄、常用成员变量、消息回调函数及消息结构体成员。通过这些,读者可以更好地理解和操作mosquitto进行 MQTT 协议的通信,例如连接、发送和接收数据。
摘要由CSDN通过智能技术生成

在用mosquitto的时候,发现使用到该库已定义的结构体,为了更好地了解mosquitto的使用,参考别人的博客,作了下面笔记,如侵,则删。另外,所列举的结构体成员为常用的成员,尚未列举完,请注意!

一、mosquitto

mosquitto时客户端的连接句柄(句柄简而言之:指向结构体的指针),包含着客户端相关信息。
创建一个指向struct mosquitto类型的结构体指针(句柄),后面就可以指向mosquitto_new()函数返回的实例了,有了指向实例的句柄,我们就可以作一系列事情了,例如连接 服务器端、推送数据、订阅主题等。

struct mosquitto{

    /*socket连接描述符*/
    mosq_sock_t sock;

    /*客户端使用的协议版本号*/
    enum _mosquitto_protocol protocol;

    /*客户端的ip地址*/
    char *address;

    /*客户端的id号,即客户端标识符,服务端根据这个id来唯一识别客户端*/
    char *id;

    /*客户端的用户名和密码,ACL鉴权使用*/
    char *username;
    char *password;

    /*保活时间*/
    uint16_t keepalive;

    /*客户端的状态*/
    enum mosquitto_client_state state;

    /*遗嘱*/
    struct mosquitto_message *will;

    /*是否清空之前的会话信息*/
    bool clean_session;

    /*客户端的消息链表,包括客户端发送给服务端,服务端待发送给客户端的*/
    struct mosquitto_client_msg *msgs;

    /*待发送给客户端的报文链表,消息队列发送时需要先转化为报文,添加到这个链表后才能发送*/
    struct _mosquitto_packet *out_packet;

    /*该客户端订阅的主题链表*/
    struct _mosquitto_subhier **subs;
};

二、mosquitto_message

mosquitto_message结构体主要在mosquitto_message_callback_set()函数里面用到,客户端接收到服务器的数据都会存到mosquitto_message这个结构体里面,所以我们要是想拿到服务器发给我们的数据,就得了解这个结构体的具体成员了,mosquitto_message_callback_set()函数原型如下:,

void mosquitto_message_callback_set(struct 	mosquitto 	*mosq, void  (*on_message)(struct mosquitto *, void *, const struct mosquitto_message *))
struct mosquitto_message{

    int mid;

    char *topic;

    void *payload;//数据包

    int payloadlen;

    int qos;

    bool retain;
    };

参考链接:
https://blog.csdn.net/u013780605/article/details/79279731
https://blog.csdn.net/lanhy999/article/details/50779731

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值