1、boost::asio::async_read 用于读取指定长度的数据,读完或出错才返回;socket.async_read_some读取到数据或出错就返回,不一定读完了整个包。
如:
boost::array<char,2048> g_buf;
void handle_read(const boost::system::error_code &err,std::size_t bytes_transferred);
socket.async_read_some(boost::asio::buffer(g_buf),handle_read);