aws-cpp-sdk:如何通过 Web Socket 使用 MQTT 发布物联网(c++ 中)
Posted
技术标签:
【中文标题】aws-cpp-sdk:如何通过 Web Socket 使用 MQTT 发布物联网(c++ 中)【英文标题】:aws-cpp-sdk : How to IoT publish using MQTT over Web Socket (in c++) 【发布时间】:2017-06-28 14:44:09 【问题描述】:我做了很多研究(在这里和在 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);
【问题讨论】:
你能展示一些你写的代码或者你搜索过的一些链接吗?它会帮助其他人提供帮助 【参考方案1】:正如 Aws on Git Hub 的软件工程师所回答的那样,我想做的事情还不可能。
https://github.com/aws/aws-sdk-cpp/issues/594
c++ sdk 目前不支持 mqtt。我们计划将此添加到即将推出的 c99 sdk 中。我们会及时通知您。同时,如果需要使用mqtt,可以使用iot sdk。
【讨论】:
以上是关于aws-cpp-sdk:如何通过 Web Socket 使用 MQTT 发布物联网(c++ 中)的主要内容,如果未能解决你的问题,请参考以下文章
FLASK python web:MySQLdb._exceptions.OperationalError:(2002,“无法通过套接字'/tmp/mysql.sock'连接到本(代码