请教boost里面async_read_some的一个问题
最近在项目中使用boost,但是测试的时候发现这样一个现象:
使用tcp::socket.async_read_some来接收数据,与客户端建立连接后,强制退出客户端,异步回调函数会被调用,但是传入的error_code竟然是0,即没有错误返回。
客户端强制断开连接,处于半连接状态,我期望应该会返回错误码EOF,而实际情况却与期望不一致。
不知道你们遇到过这种情况?
[解决办法]
这和asio没啥关系,tcp协议就是这样的,某些情况下强行断开,对端并不会马上发现对端已关闭(本机除外),你主动发数据的时候才会发现连接已断