Согласно расширенной документации, при вызове socket::close()
асинхронные операции отправки, получения или подключения будут немедленно отменены и завершатся с ошибкой boost::asio::error::operation_aborted
.
socket::cancel
вызывает все невыполненные асинхронныеОперации подключения, отправки и получения должны быть немедленно завершены, и обработчикам отмененных операций будет передано сообщение об ошибке boost::asio::error::operation_aborted
.
Есть ли какая-то разница между ними?
Когда я хочу завершить одно соединение с сокетом, какое из них мне следует вызвать так, чтобы их обработчик обратного вызова был вызван с ошибкой boost::asio::error::operation_aborted
?