Paho MQTT 错误代码-8 MQTTCLIENT_BAD_STRUCTURE

首先参考了:

调用MQTTClient_connect返回-8_libpaho-mqtt3c.so-优快云博客
他的文章并没有解决我的问题.但是可以参考.

我说下我的问题:

        调用MQTTClient_publishMessage() 返回-8.
 

问题原因:

        MQTTClient_message 这个结构体定义的变量.没有被"完全"初始化.

        初始化一下就行.    MQTTClient_message pubmsg = MQTTClient_message_initializer;

        要不然下面这两个变量,手动初始化

  /** The eyecatcher for this structure.  must be MQTM. */
    char struct_id[4];
  /** The version number of this structure.  Must be 0 */
    int struct_version;

多说一句:

 paho某些结构体中会把构造函数delete.所以你很自然的会调用宏在初始化比如:
    MQTTClient_connectOptions m_ConnectOpt;
    MQTTClient_SSLOptions m_SSLOpt;

有些不会这样,比如MQTTClient_message,所以我没有直接用它的宏.你可以后来单独赋值成员变量.只要不忘了个别变量就行, 忘了就报错-8.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值