static int MqttSample_CmdUnsubscribe(struct MqttSampleContext *ctx) { int err; char topic[1024]; sprintf(topic, "45523/test-1"); err = Mqtt_PackUnsubscribePkt(ctx->mqttbuf, 11, topic); if(err != MQTTERR_NOERROR) { printf("Critical bug: failed to pack the unsubscribe packet.\n"); return -1; } if(err != MQTTERR_NOERROR) { printf("Critical bug: failed to append the topic to the " "unsubscribe packet.\n"); return -1; } return 0; }
/** * @brief 设备取消订阅,TOPIC是TOPIC_TO_UNSUB * @param ctx:上下文变量 * @retval ret:0,成功,<0 失败 **/ static int MqttSample_CmdUnsubscribe(struct MqttSampleContext *ctx) { int err; int bytes = 0; printf("%s %d\n", __func__, __LINE__); err = Mqtt_PackUnsubscribePkt(ctx->mqttbuf, PACK_FALG_UNSUB, TOPIC_TO_UNSUB); if(err != MQTTERR_NOERROR) { printf("Critical bug: failed to pack the unsubscribe packet.\n"); return -1; } err = Mqtt_AppendUnsubscribeTopic(ctx->mqttbuf, TOPIC_TO_UNSUB); if(err != MQTTERR_NOERROR) { printf("Critical bug: failed to append the topic to the " "unsubscribe packet.\n"); return -1; } bytes = Mqtt_SendPkt(ctx->mqttctx, ctx->mqttbuf, 0); MqttBuffer_Reset(ctx->mqttbuf); return 0; }