为什么我要用PAHO mqtt发布一个主题,return-8出现了 MQTTAsync\u responseOptions sendpoptions=MQTTAsync\u responseOptions\u初始值设定项; MQTTAsync_message pubMsg=MQTTAsync_message_初始值设定项; int rc=0; char msgSend[48]={0}; json_object*pValue=NULL; json_object*pObjectSerPro=NULL; int waitCount=0; if(pLoopCount==NULL) { printf((%s)这是一个空数据。\n“,_函数__); 返回处理错误; } 而(!ConnectedFlag&&++waitCount=等待计数) { printf((%s)未能等待连接。\n“,\u函数\u”; 返回处理错误; } /* { “循环1_计数”:1, “循环2_计数”:2 } */ pObjectSerPro=json_object_new_object(); pValue=json\u object\u new\u int(1); json_object_object_add(pObjectSerPro,LOOP1_COUNT,pValue); pValue=json\u object\u new\u int(2); json_object_object_add(pObjectSerPro,LOOP2_COUNT,pValue); memset(msgSend,0,48); sprintf(msgSend,“%s”,json_对象_到_json_字符串(pObjectSerPro)); json_object_put(pObjectSerPro); sendpoptions.onSuccess=onSend; sendpoptions.context=GlobalClient; publimsg.payload=msgSend; pubMsg.payloadlen=strlen(pubMsg.payloadlen); pubMsg.qos=1; publimsg.reserved=1; 如果((rc=MQTTAsync\u sendMessage)(全局客户端、ORENA\u SMARTFIRE\u EC\u响应\u循环\u寄存器和pubMsg, &sendOptions)!=MQTTASYNC_成功) { printf((%s)无法启动sendMessage,返回代码%d\n),\uuuuu函数\uuuuu,rc); 返回处理错误; } 返回交易(OK);;

为什么我要用PAHO mqtt发布一个主题,return-8出现了 MQTTAsync\u responseOptions sendpoptions=MQTTAsync\u responseOptions\u初始值设定项; MQTTAsync_message pubMsg=MQTTAsync_message_初始值设定项; int rc=0; char msgSend[48]={0}; json_object*pValue=NULL; json_object*pObjectSerPro=NULL; int waitCount=0; if(pLoopCount==NULL) { printf((%s)这是一个空数据。\n“,_函数__); 返回处理错误; } 而(!ConnectedFlag&&++waitCount=等待计数) { printf((%s)未能等待连接。\n“,\u函数\u”; 返回处理错误; } /* { “循环1_计数”:1, “循环2_计数”:2 } */ pObjectSerPro=json_object_new_object(); pValue=json\u object\u new\u int(1); json_object_object_add(pObjectSerPro,LOOP1_COUNT,pValue); pValue=json\u object\u new\u int(2); json_object_object_add(pObjectSerPro,LOOP2_COUNT,pValue); memset(msgSend,0,48); sprintf(msgSend,“%s”,json_对象_到_json_字符串(pObjectSerPro)); json_object_put(pObjectSerPro); sendpoptions.onSuccess=onSend; sendpoptions.context=GlobalClient; publimsg.payload=msgSend; pubMsg.payloadlen=strlen(pubMsg.payloadlen); pubMsg.qos=1; publimsg.reserved=1; 如果((rc=MQTTAsync\u sendMessage)(全局客户端、ORENA\u SMARTFIRE\u EC\u响应\u循环\u寄存器和pubMsg, &sendOptions)!=MQTTASYNC_成功) { printf((%s)无法启动sendMessage,返回代码%d\n),\uuuuu函数\uuuuu,rc); 返回处理错误; } 返回交易(OK);;,mqtt,Mqtt,我打算封装一条JSON消息({“loop1_count”:1,“loop2_count”:2})以供发布,我的问题是: 当我从CHAR msgSend[48]={0}更改此代码时;要将msgSend[40]={0}字符化,请执行以下操作:我遇到了一个返回错误代码-8,但是我查看了数据并说返回-8的问题是由于版本问题,为什么? (#定义MQTTASYNC#u BAD#u结构-8 --返回代码:结构参数没有正确的eyecatcher和版本号)猜测是字符串长度超过了数组大小,内存覆盖率发生了变化,并且

我打算封装一条JSON消息({“loop1_count”:1,“loop2_count”:2})以供发布,我的问题是: 当我从CHAR msgSend[48]={0}更改此代码时;要将msgSend[40]={0}字符化,请执行以下操作:我遇到了一个返回错误代码-8,但是我查看了数据并说返回-8的问题是由于版本问题,为什么? (#定义MQTTASYNC#u BAD#u结构-8
--返回代码:结构参数没有正确的eyecatcher和版本号)

猜测是字符串长度超过了数组大小,内存覆盖率发生了变化,并且要发送的数据的标头发生了变化。 答案来自泛美卫生组织的作者
链接:

猜测是字符串长度超过了数组大小,内存覆盖率发生变化,并且要发送的数据的标头发生了更改。 答案来自泛美卫生组织的作者
链接:

请咨询网站经理,我删除了不清楚的问题,还有三个问题。我不知道这三个问题中哪一个还有问题。你能给我一个提示和帮助吗,否则我现在不能提问。请问网站经理,我删除了不清楚的问题,还有三个问题。我不知道这三个问题中哪一个还有问题。你能给我一个提示和帮助吗,否则我现在不能问问题。
MQTTAsync_responseOptions sendOptions = MQTTAsync_responseOptions_initializer;
MQTTAsync_message pubMsg = MQTTAsync_message_initializer;
int rc = 0;
char msgSend[48] = {0};
json_object *pValue = NULL;
json_object *pObjectSerPro = NULL;
int waitCount = 0;

if (pLoopCount == NULL)
{
     printf("(%s) This is an empty data.\n", __FUNCTION__);
     return DEAL_ERROR;
}

while(!ConnectedFlag && ++waitCount<WAIT_COUNT);
if (waitCount >= WAIT_COUNT)
{
    printf("(%s) Failed to wait for the connection.\n", __FUNCTION__);
    return DEAL_ERROR;
}

/*
{
    "loop1_count": 1,
    "loop2_count": 2
}
*/

pObjectSerPro = json_object_new_object();

pValue = json_object_new_int(1);
json_object_object_add(pObjectSerPro, LOOP1_COUNT, pValue);
pValue = json_object_new_int(2);
json_object_object_add(pObjectSerPro, LOOP2_COUNT, pValue);


memset(msgSend, 0, 48);
sprintf(msgSend, "%s", json_object_to_json_string(pObjectSerPro));

json_object_put(pObjectSerPro);

sendOptions.onSuccess = onSend;
sendOptions.context = GlobalClient;
pubMsg.payload = msgSend;
pubMsg.payloadlen = strlen(pubMsg.payload);
pubMsg.qos = 1;
pubMsg.retained = 1;

if ((rc = MQTTAsync_sendMessage(GlobalClient, ORENA_SMARTFIRE_EC_RESPONSE_LOOP_REGISTER, &pubMsg, 
&sendOptions)) != MQTTASYNC_SUCCESS)
{
    printf("(%s) Failed to start sendMessage, return code %d\n", __FUNCTION__, rc);
    return DEAL_ERROR;
}
return DEAL_OK;