繁体   English   中英

异步Wt :: Http :: Client响应和请求匹配

[英]Asynchronous Wt::Http::Client response and request matching

我是Wt3的新手 (3.3.9版-因为wole项目正在使用它)。 我遇到了一个问题,现在正在寻找解决方案。

我想做一个多线程Wt :: Http :: Client 从文档中可以得知,使用带有设置线程数的Wt :: WIOService可以使工作变得整洁,但是我遇到了识别问题,即请求与处理后的响应相匹配

使用Wt :: WIOService的多线程。

  Wt::WIOService io_service;
  io_service.setThreadCount(10);
  io_service.start();
  //
  MyClass my_http_client(io_service);
  my_http_client.Work();
  //
  io_service.stop();

在Work()中,存在一个循环,该循环读取请求队列并将其发送。

对于单线程,我正在使用下一段代码:

在从Wt :: Http :: Client扩展的类构造函数中:

  done().connect(boost::bind(&MyClass::HandleHttpResponse, this, _1, _2));

处理方式:

void MyClass::HandleHttpResponse(boost::system::error_code err, const Wt::Http::Message response) {
  std::unique_lock<std::mutex> lock(mutex_);
  // response to inner format
  // then all data goes to another class.
}

但是,当我使用多线程时, 我需要将请求与response完全匹配 在理解Wt 文档方面我可能是错的。 您能帮我解决这个问题吗?

Wt::Http::Client的预期用途是为每个请求创建一个新实例。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM