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