Difference between a server and a client

On a high level, this is my understanding of the difference between a client and server: a server listens on a host and a port, receives requests (e.g. through a socket connection), and then sends a response to the client who initiated the socket connection. The client is what sends a request to that server socket, and waits for a response.