[英]Asynchronous Wt::Http::Client response and request matching
我是Wt3的新手 (3.3.9版-因為wole項目正在使用它)。 我遇到了一個問題,現在正在尋找解決方案。
我想做一個多線程Wt :: Http :: Client 。 從文檔中可以得知,使用帶有設置線程數的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.