如何使用不同的handle_post来处理msg接收?(C ++ REST SDK)

时间:2016-10-04 16:26:56

标签: c++ rest casablanca

我创建了一个正在侦听端口7000的服务器。我希望我的服务器可以使用函数../src/处理它收到的第一个消息,并使用void handle_post1()处理第二个void handle_post2()它收到。 像:

http request

我尝试像这样编码,但它不起作用。 我怎么能这样做?

1 个答案:

答案 0 :(得分:1)

您的侦听器将在服务器端处理请求。对于support(),您不处理特定请求,但为所有后续请求添加处理程序。

在您的问题中,您打算以不同方式处理请求,具体取决于请求的相对顺序:第一个应由[[UInt32:Int]]()处理,第二个应由[(UInt64, Int)]处理。这意味着您希望处理依赖于服务器状态。

现在是提醒Casablanca是微软的C++ REST SDK的好时机。 REST 表示 stateless 处理。所以你不会在那里找到任何支持状态依赖的处理。

如果您真的想要追求,可以想象使用handle_post1维护一些静态变量来计算请求,并进一步委托给handle_post2handle_dispatcher()取决于国家。但实际上并不建议这样做。 REST的目标是可以将不同的请求分派到不同的服务器,在这种情况下,您的调度程序不会产生预期的结果。如果您不想接受这种方法,那么您应该使用有状态框架。