继承自 basic_socket。
取消与套接字关联的所有异步操作。
void cancel( boost::system::error_code & ec);
此函数会立即完成所有挂起的异步连接、发送和接收操作,并且被取消操作的处理程序将收到 boost::asio::error::operation_aborted
错误。
用于指示发生何种错误(如果有)。
在 Windows XP、Windows Server 2003 以及更早版本的 Windows 上运行 cancel()
调用时,除非定义了 BOOST_ASIO_ENABLE_CANCELIO,否则将始终以 boost::asio::error::operation_not_supported
错误失败。但是,CancelIo 函数存在两个问题,在使用其功能之前应予考虑。
为了实现可移植的取消,请考虑使用以下替代方法之一
close()
函数可同时取消挂起的操作并关闭套接字。在 Windows Vista、Windows Server 2008 及更高版本上运行时,将始终使用 CancelIoEx 函数。此函数没有上述问题。