簡體   English   中英

aws-cpp-sdk:如何通過Web Socket使用MQTT進行IoT發布(在c ++中)

[英]aws-cpp-sdk : How to IoT publish using MQTT over Web Socket (in c++)

我做了很多研究(這里和github),以了解Iot Data Plane類是如何工作的。

我想知道如何使用c ++ sdk和端口443發布關於主題的數據。我想建立我的連接,並且在我關閉它之前保持連接。

簡而言之,我需要幫助才能在Linux上使用cpp sdk通過Web Socket發送MQTT。

有人可以幫忙嗎?

 Aws::SDKOptions options;
 options.loggingOptions.logLevel = Aws::Utils::Logging::LogLevel::Info;
 Aws::InitAPI(options);

 Aws::Auth::AWSCredentials credentials;
 credentials.SetAWSAccessKeyId("a valid key id generated in Aws IAM");
 credentials.SetAWSSecretKey("a valid secret key generated in Aws IAM");

 Aws::IoTDataPlane::IoTDataPlaneClient client(credentials);
 Aws::IoTDataPlane::Model::PublishRequest request;
 std::shared_ptr<Aws::StringStream> stream = std::make_shared<Aws::StringStream>("Something to publish.");

 request.SetBody(stream);
 request.SetTopic("MyTopic");

 Aws::IoTDataPlane::Model::PublishOutcome outcome(client.Publish(request));
 if(outcome.IsSuccess())
 {
    printf("Success");
 }
 else
 {
    printf("%s", outcome.GetError().GetMessage().c_str());
 }
 Aws::ShutdownAPI(options);

正如Aws在Git Hub上的軟件工程師所回答的,我想要做的還不可能。

https://github.com/aws/aws-sdk-cpp/issues/594

c ++ sdk目前不支持mqtt。 我們計划將此添加到即將推出的c99 sdk中。 我們會告訴你。 在此期間,如果您需要使用mqtt,您可以使用iot sdk。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM