2010-11-11 59 views
0

cpp_netlib文檔包含例如HTTP客戶端,但我看到它只能工作在阻塞模式cpp_netlib可以執行異步併發請求嗎?

http_client::response response = client.get(request); 

- 這(我猜)在等待服務器的響應將停止執行程序。我可以執行多個併發請求與cpp_netlib而不產生多個線程?我的意思是一種非阻塞方式,就像循環調用io_service.poll(),並使用回調處理程序來捕獲響應 - 還有一些額外的處理等待響應。

回答

0

有可能使用一個typedef與異步代碼來處理無阻塞地異步連接:

typedef boost::network::http::basic_client< 
    boost::network::http::tags::http_async_8bit_udp_resolve 
    , 1, 0> http_client; 

但目前還沒有實現全功能的併發連接處理,具有回調和週期性的檢查能力請求完成。不是目前0.7版本的庫,而是0.8下的版本。也許,這些功能將在cpp_netlib 0.9中實現。

欲瞭解更多的細節,看看cpp_netlib郵件列表archieve:http://sourceforge.net/mailarchive/message.php?msg_name=AANLkTingb%2BB06YVyK%3D-XYAcZsQ2sZc%3DE%3DTPhAgcfjrTb%40mail.gmail.com