继承自 basic_socket。
取消与套接字关联的所有异步操作。
void cancel();
此函数将导致所有未完成的异步连接、发送和接收操作立即完成,并且被取消操作的处理程序将接收到 boost::asio::error::operation_aborted 错误。
失败时抛出。
在 Windows XP、Windows Server 2003 以及更早版本的 Windows 上运行时,对 cancel() 的调用将始终因 boost::asio::error::operation_not_supported 而失败,除非定义了 BOOST_ASIO_ENABLE_CANCELIO。然而,在启用 CancelIo 函数的使用之前,需要考虑其两个问题。
为了实现可移植的取消,请考虑使用以下替代方法之一
close() 函数可同时取消挂起的操作并关闭套接字。在 Windows Vista、Windows Server 2008 及更高版本上运行时,将始终使用 CancelIoEx 函数。此函数没有上述问题。