我是異步編程的新手,Boost.Asio
。我有一個基本問題。 boost.org
上有example。我想用它來下載鏈接列表。以下是http異步客戶端的客戶端代碼。異步使用Boost.Asio下載URL列表
int main(int argc, char* argv[]) {
try {
if (argc != 3) {
...
return 1;
}
boost::asio::io_service io_service;
client c(io_service, argv[1], argv[2]);
io_service.run();
}
catch (std::exception& e) {
std::cout << "Exception: " << e.what() << "\n";
}
return 0;
}
我知道怎樣才能下載的URL與此代碼。但是,我不知道如何異步(編輯:同時?)下載的URL列表。你能幫我改變這個代碼來獲得這個目的嗎?
因爲所有的邏輯都在'client'類直接辦理,只需要創建'client'類,一個的多個實例,每個'URL's的在你的清單中。 – Chad
謝謝。但是,如果我有很多鏈接,就有問題。我可以將原始列表拆分爲更小的單詞,並分別處理任何單詞。然後我需要等待,直到所有的當前chank鏈接都被處理,然後處理下一個chank。有沒有辦法避免效率問題? – Loom