Boost C++ Libraries of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

This is the documentation for an old version of Boost. Click here to view this page for the latest version.
basic_stream_socket::close (2 of 2 overloads)

Inherited from basic_socket.

Close the socket.

void close(
    boost::system::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 boost::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.

boost::asio::ip::tcp::socket socket(my_context);
boost::system::error_code ec;
if (ec)
  // An error occurred.

For portable behaviour with respect to graceful closure of a connected socket, call shutdown() before closing the socket.