paho mqtt调用MQTTClient_connect失败,返回MQTTCLIENT_BAD_STRUCTURE(-8)

在尝试使用Paho MQTT库时遇到MQTTClient_connect返回MQTTCLIENT_BAD_STRUCTURE(-8)的问题。问题源于库文件版本1.1与头文件版本1.3之间的不兼容,头文件中struct_version值为6,导致结构体不匹配。解决方案是确保库和头文件版本一致。
摘要由CSDN通过智能技术生成

1、问题描述
使用编译好的库文件,从githup上下载头文件,运行时MQTTClient_connect调用失败,返回MQTTCLIENT_BAD_STRUCTURE;
MQTTCLIENT_BAD_STRUCTURE在MQTTClient.h中是struct_id或struct_version 不正确,其定义为:

/**
 * Return code: A structure parameter does not have the correct eyecatcher
 * and version number.
 */
#define MQTTCLIENT_BAD_STRUCTURE -8

2、问题原因
该问题是由于mqtt库版本为1.1,而头文件版本为1.3,1.3版本的mqtt struct_version 值为6,在1.1版本不兼容,以下是mqtt 1.1和1.3版本MQTTClient_connect函数部分代码:

//paho mqtt 1.1版本
int MQTTClient_connect(MQTTClient handle, MQTTClient_connectOptions* options)
{
   
	MQTTClients* m = handle;
	int rc = SOCKET_ERROR;

	FUNC_ENTRY;
	Thread_lock_mutex(connect_mutex);
	Thread_lock_mutex(mqttclient_mutex);

	if (options == 
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值