gpt4 book ai didi

c++ - 从 POCO HTTPRequestHandler 访问其他线程或数据

转载 作者:行者123 更新时间:2023-11-28 06:10:07 29 4
gpt4 key购买 nike

我有一个 C++ 应用程序可以读取各种传感器,然后根据需要对它们进行操作。目前,传感器在自己的线程中运行,并具有获取/设置其值的方法。

我正在尝试使用 POCO 库集成一个网络套接字服务器来显示传感器的状态。

如何将传感器信息放入 HTTPRequestHandler?

我应该使用 POCO::Application 类并将传感器和服务器定义为子系统吗?我应该采取另一种方法吗?

最佳答案

您可以从 HTTPRequestHandler 派生并覆盖 handleRequest() 并通过例如将对传感器信息对象的引用存储为派生自 HTTPRequestHandler 的类。

class SensorStateRequestHandler : public Poco::Net::HTTPRequestHandler
{
public:
SensorStateRequestHandler(SensorInfo &sensorInfo)
: sensorInfo_(sensorInfo)
{}

virtual void handleRequest(Poco::Net::HTTPServerRequest &request, Poco::Net::HTTPServerResponse &response) override
{
// receive request websocket frame
sensorInfo_.get_state(); // must be thread safe
// send response websocket frame with sensor state
}

private:
sensorInfo &sensorInfo_;
};

关于c++ - 从 POCO HTTPRequestHandler 访问其他线程或数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31421830/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com