|  | 
Close the socket.
void close(
    asio::error_code & ec);
            This function is used to close the socket. Any asynchronous send, receive
            or connect operations will be cancelled immediately, and will complete
            with the asio::error::operation_aborted error.
          
Set to indicate what error occurred, if any. Note that, even if the function indicates an error, the underlying descriptor is closed.
asio::ip::tcp::socket socket(my_context);
...
asio::error_code ec;
socket.close(ec);
if (ec)
{
  // An error occurred.
}
            For portable behaviour with respect to graceful closure of a connected
            socket, call shutdown() before closing the socket.