您的位置:程序门 -> vc/mfc -> 网络编程



boost 的 asio 中 asio::async_read 无法获取网络中断


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


boost 的 asio 中 asio::async_read 无法获取网络中断
发表于: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   )
      {   }
发表于:2008-02-20 14:15:231楼 得分:0
自己顶,看来没人用asio
发表于:2008-02-20 15:41:472楼 得分:0
没用过,只知道这东西不错,不过没通过boost评审,不算正式的boost成员。


快速检索

最新资讯
热门点击