当前位置: 首页 > 工具软件 > Async Server > 使用案例 >

async_read_some async_read区别

洪照
2023-12-01
今天用asio写一个简单的server时,当连接成功时做如下工作1 asio::async_read(socket_, asio::buffer(&m_packet, sizeof(m_packet)),2 boost::bind(&tcp_connection::HandleReadCardKey, shared_from_this(),3 asio::placeholders::error));但HandleReadCardKey始终没有被回调,除非remote point断开连接最后用下面的代码搞定:1 socket_.async_read_some(asio::buffer(&m_packet, sizeof(m_packet)),2 boost::bind(&tcp_connection::HandleReadCardKey, shared_from_this(),3 asio::placeholders::error));记下,免得以后忘记了总结一下: asio::async_read通常用户读取指定长度的数据,读完或出错才返回。 而socket的async_read_some读取到数据或出错就返回,不一定读完了整个包。
 类似资料: