2014-01-17 111 views
3

我從這個this example中稍微修改了客戶端代碼。我現在遇到的問題是提升:asio:讀取調用讀取真的是慢,某處大約每秒2字節。C++,boost asio,讀取速度慢

while (boost::asio::read(socket, response, boost::asio::transfer_at_least(1), error));

boost::asio::read(socket, response, boost::asio::transfer_all(), error);

Entire code here

我試圖從不同的服務器,其中包括google.com的響應,得到了相同的結果,所以它既不是服務器問題或連接問題。難道我做錯了什麼?

任何幫助將不勝感激。


可能涉及:C++ Boost.ASIO async_read_until slow

+0

你試圖啓用[處理跟蹤](http://www.boost.org/doc/libs/release /doc/html/boost_asio/overview/core/handler_tracking.html)?你使用什麼網絡傳輸? –

回答

2

讀不慢,你只是忘了指定的密切頭:

request_stream << "Connection: close\r\n"; 

這使得該過程迅速。

注意,調試輸出是不是「瞬間」由於緩衝,儘量

std::cout.setf(std::ios::unitbuf);