这几天总结了下, 对于网络断开连接时的注意事项.
总体来说有三种情况:
1. 对端网络异常, 这时候可以从读写时发现
2. 用户层写buff满
3. 用户主动关闭
为了保证更少的暴露接口给用户, 经过自己的推敲, 发现当出错时, 走正常的通知模式, 抛出一个error给用户回调, 用户看情况清理自己的数据, 网络层会定期询问该用户是否可以被删除, 因为此时可能会有数据库操作被挂起~ :)
这个定期询问的函数也是个回调, 需要用户自己编写~ , 通常用来检测是否有正在挂起的数据库操作~ , 如果有, 就会推迟删除, 从而保证提早清除连接buff后造成的crash问题 :)