C++ 创建mqtt客户机并使用Amazon AWS Embedded C SDK订阅
我试图创建一个简单的mqtt客户机并订阅一个特定的主题。我需要从subscribe函数获取有效负载(接收到的消息) 有效负载是一个字符串变量,以Json格式包含以下内容:C++ 创建mqtt客户机并使用Amazon AWS Embedded C SDK订阅,c++,c,amazon-web-services,aws-iot,C++,C,Amazon Web Services,Aws Iot,我试图创建一个简单的mqtt客户机并订阅一个特定的主题。我需要从subscribe函数获取有效负载(接收到的消息) 有效负载是一个字符串变量,以Json格式包含以下内容: WorkOrder Request {"siteNumber":"client2780","testNumber":"1004","vehicle":{"make":"Dummy","model":"Vehicle","vrm":"ABC 123V","vin":"12345678901234567","vehicleClas
WorkOrder Request
{"siteNumber":"client2780","testNumber":"1004","vehicle":{"make":"Dummy","model":"Vehicle","vrm":"ABC 123V","vin":"12345678901234567","vehicleClass":"4","firstRegistrationDate":"2016-12-20","fuelType":"PETROL"},"workOrderState":"COMPLETE"}
遗憾的是,我不能使用AWS SDK的C++示例版本,因为我正在使用RAD Studio来构建应用程序。我使用Amazon嵌入式C版本,使其与Embarcadero IDE交叉兼容
这是我的尝试,但显示的是客户机密钥,而不是我尝试显示有效负载时所需的有效负载字符串:
// Subscribing
IOT_INFO("Subscribing...");
rc = aws_iot_mqtt_subscribe(&client, "mot/in/client2780", 17, QOS0, iot_subscribe_callback_handler, NULL);
ShowMessage(rc);
if(SUCCESS != rc)
{
IOT_ERROR("Error subscribing : %d ", rc);
}
// Display PayLoad on screen
paramsQOS0.payload = (void *) sPayload; // Showing client key instead of payload string
char * sp = &sPayload[100];
ShowMessage(sp);