|  | 
Inherited from basic_socket.
Cancel all asynchronous operations associated with the socket.
void cancel();
            This function causes all outstanding asynchronous connect, send and receive
            operations to finish immediately, and the handlers for cancelled operations
            will be passed the asio::error::operation_aborted error.
          
Thrown on failure.
            Calls to cancel() will always fail with asio::error::operation_not_supported
            when run on Windows XP, Windows Server 2003, and earlier versions of
            Windows, unless ASIO_ENABLE_CANCELIO is defined. However, the CancelIo
            function has two issues that should be considered before enabling its
            use:
          
For portable cancellation, consider using one of the following alternatives:
close() function to simultaneously cancel the
                outstanding operations and close the socket.
              When running on Windows Vista, Windows Server 2008, and later, the CancelIoEx function is always used. This function does not have the problems described above.