我想创建一个由基于web的前端和c++后端组成的应用程序。我的选择是使用websocket协议来实现它们之间的数据传输。具体来说,前端将触发一些测量,这些测量将在后端完成,并最终返回并存储在前端的相关值。我决定为websocket协议实现使用poco库,特别是我遇到了下面的例子https://github.com/pocoproject/poco/blob/develop/Net/samples/WebSocketServer/src/WebSocketServer.cpp。然而,由于我还没有完全掌握c++中的工厂概念,我还没有弄清楚RequestHandlerFactory类的作用。是否有可能有人解释什么是上述类的角色和关于我的实现(前端->触发后端->后端做测量->后端返回值到前端,以便在一个基于web的gui中描述)我需要做任何修改,使这个工作为我的情况?
正如您在示例中看到的那样,有两个从HTTPServer派生的实现。因此,根据客户端请求的连接类型(WebsocketRequest、PageRequest),可以返回适当的HTTPServer。工厂类的工作是处理传入的请求,决定哪个类应该处理它(取决于所请求的连接)。由于您将请求交换数据,而不是请求显示HTML文档,因此您应该使用WebSocketRequestHandler。是的,可以做到。您可能想要删除PageRequestHandler,因为您不会使用它。