20210304关于数据源的析构流程(2) - ziyouzy/2021blog GitHub Wiki
如果心跳包超时后不close这个Conn而是直接跳出循环呢?显然是不行的,因为Conn这个对象会有泄露的风险
而无论double close后会返回什么内容,调用Close()都很像是一个“免责操作”,只要执行了就能确保Conn泄露的风险
于是这样一来,其实返回的内容具体是什么也并不重要
也就是说,心跳包基于有无响应来决定已超时后,调用隐析构方法析构,析构流程只要包含对Close()的进行即可
将Client(usr-io808)的析构并入某个心跳包的判定流程是完全可行的