簡體   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