##### basic_stream_socket::close (1 of 2 overloads)

Inherited from basic_socket.

Close the socket.

    void close();

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.

###### Exceptions

asio::system_error

  Thrown on failure. Note that, even if the function indicates an error, the underlying descriptor is closed.

###### Remarks

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