TCPSockets question best practices

Hello all,
What is the appropriate method for ending use of a socket?
Is it to disconnect?
Or is it to close?

Or do both, disconnect then close?
Does this have to happen on both the client and the server? Currently the client does the disconnect but no close

What are the best practices of these?