如何使用不同的handle_post处理msg接收?(c++ rest sdk)
How to use different handle_post to process msg receives?(C++ REST SDK)
我创建了一个监听端口7000的服务器。我希望我的服务器可以使用函数void handle_post1()
来处理它收到的第一个消息,并使用void handle_post2()
来处理它收到的第二个http request
。如:
listener.support(methods::POST, handle_post1);//if this is the first msg I receive
listener.support(methods::POST, handle_post2);//if this is the second msg I receive
我试着这样编码,但它不起作用。我怎么能这么做呢?
侦听器将在服务器端处理请求。使用support()
,您不处理特定的请求,但您为所有后续请求添加处理程序。
在你的问题中,你打算根据请求的相对顺序以不同的方式处理请求:第一个应该由handle_post1
处理,第二个应该由handle_post2
处理。这意味着您希望处理依赖于服务器状态。
现在是时候提醒大家卡萨布兰卡是微软的c++ REST SDK了。而REST意味着一个无状态的处理。因此,您将在那里找不到任何对依赖于状态的处理的支持。
如果你真的想继续,你可以想象使用一个handle_dispatcher()
来维护一些静态变量来计算请求,并根据状态进一步委托给handle_post1
或handle_post2
。但我们不建议这样做。REST的目标是可以将不同的请求分派到不同的服务器,在这种情况下,您的调度程序将不会产生预期的结果。如果您不想采用这种方法,那么应该使用有状态框架。
相关文章:
- 使用流处理接收到的数据
- 从udp接收帧对于人脸识别来说太慢
- 在调用接收数组的方法时,模板化数组大小是不是一种糟糕的做法
- visual是否可以在c++中创建一个接收无限数量相同类型(或至少相当数量)参数的函数
- boost::asio UDP 广播客户端仅接收"fast"数据包
- 使用模板化的键类型定义 std::map,该键类型基于作为参数接收的函数
- (Winsock) UDP 接收工作正常,但同一套接字的发送失败
- 接收字符串并使用它来调用方法C++
- 如何通过UDP接收QByteArray并将其解析为位字段结构?
- 在 capnp FlatArrayMessageReader 的对齐内存缓冲区中接收 zmq 消息
- 从 Python 接收C++字符串
- 接收和返回函数指针的函数指针的类型?
- 无法使用 g++ 从多个文件接收正确的输出
- 使用 winsock 接收 http 请求
- 如何判断SSL_read是否已经接收并处理了来自单个消息的所有记录
- 从套接字 C++ 发送和接收文件
- 无法接收WM_CLIPBOARDUPDATE消息
- 对象接收堆栈溢出异常 c++ 的排序向量
- 如果变量数据包含大于 vector 所有元素的整数,则仅在视觉工作室上接收"矢量下标超出范围"?
- 编写 cin.get() 以接收字符数组时出现问题