非阻塞 Poco HTTP 服务器?
A non-blocking Poco HTTP server?
在 Poco 的文档 (https://pocoproject.org/docs/Poco.Util.ServerApplication.html) 中有:
int main(int argc, char** argv)
{
MyServerApplication app;
return app.run(argc, argv);
}
这意味着一个独立的阻塞服务器应用程序。但是,我的用例是我想将 HTTP 服务器集成到我现有的 C++ 应用程序中,它不应阻止应用程序的其余部分。我能以某种方式在它自己的线程中启动 Poco 服务器吗?
A ServerApplication
是它自己的 Application
,因为它继承自 Application。这意味着它有自己的主要。
所以这取决于您想在 ServerApplication
中做什么。
如果你想让其他东西成为主要功能,请不要使用ServerApplication
。但是,如果您想要选项解析和可移植代码的好处,请使用 ServerApplication
并让它通过类似于 SampleServer.
的线程生成您的其他代码
希望对您有所帮助。
编辑
它有一个包含 HTTPServer 的示例应用程序。也许您只想在现有应用程序中启动 HTTPServer。
在 Poco 的文档 (https://pocoproject.org/docs/Poco.Util.ServerApplication.html) 中有:
int main(int argc, char** argv)
{
MyServerApplication app;
return app.run(argc, argv);
}
这意味着一个独立的阻塞服务器应用程序。但是,我的用例是我想将 HTTP 服务器集成到我现有的 C++ 应用程序中,它不应阻止应用程序的其余部分。我能以某种方式在它自己的线程中启动 Poco 服务器吗?
A ServerApplication
是它自己的 Application
,因为它继承自 Application。这意味着它有自己的主要。
所以这取决于您想在 ServerApplication
中做什么。
如果你想让其他东西成为主要功能,请不要使用ServerApplication
。但是,如果您想要选项解析和可移植代码的好处,请使用 ServerApplication
并让它通过类似于 SampleServer.
希望对您有所帮助。
编辑
它有一个包含 HTTPServer 的示例应用程序。也许您只想在现有应用程序中启动 HTTPServer。