| 发表于:2008-02-20 10:31:22 楼主 |
asio::async_read 的作用是接收指定字节数的数据后再响应异步函数func,但实验中发现当网络中断(如:对端的网卡禁用)后, 异步函数func无法响应,从而无法判断网络中断。 而在对端正常关闭网络连接时异步函数func是可以响应的,在使用async_read函数是应该怎样判断网络的异常中断? 代码大致如下: char inbound_header_[8]; boost::asio::async_read( socket_, boost::asio::buffer(inbound_header_), boost::bind(func, this, boost::asio::placeholders::error, boost::asio::placeholders::bytes_transferred ); void func( const boost::system::error_code& ec, std::size_t bytes_transferred ) { } |
|
|
|
|