The Server class is setup to wait for a connection. When it gets one, it sets up a Client class instance to actually let the Arduino talk to the computer on the other end. The big difference between a TCP server and a client is that the server waits for someone else to start the conversation. Once it's going, both sides look the same.