关于boost::asio相关的网络如何正确退出的问题探讨
不二星空 2017-01-18 03:47:21 boost::asio异步基于完成端口实现的一套开源的网络框架,但是在程序关闭时遇到的了一些问题,不知各位大侠有没有了解相关知识,问题如下:
目前采用先关闭socket,再关闭io_service的方式
1、如果io_service调用stop之后直接销毁,会有概率出现异常,大概的意思就是工作者线程还未退出的情况下,io_service被销毁了。但是目前没有找到对应可以控制相关顺序的方式,工作者线程不只一个。
2、socket如果调用async_connect后,调用socket.cancel()和socket.close()后,实际并未立马中止链接,实际上工作者线程需要等待超时或者中断返回,此次的async_connect才算执行完毕,有没有其他的关闭方式,能更快或者能控制时序的方式进行关闭?
望指教~~