A client server network is the one in which the clients are connected to a server. This server provides special services (such as web servers or FTP servers) to other machines or clients.
For example, when you are accessing a web page, the page is providing a server, while your machine, on the other hand, is providing no services, therefore it’s a client.
A machine may be both a server and a client. It can perform different tasks as a client and as a server. For example, a server can also have software running on it that allows it to act as a web server, an e-mail server and a FTP server.
The one that receives is know as a server, and the one that sends a demand is the client.
In a chat we can also clients connected to a server.
A server can listen for incoming calls or messages from all the connected clients and broadcast them. When the client know the IP adress of the server it can connect to the server in any PC.
The client can send messages to a server, and to the connected clients. It also views all the messages.
Sockets allow the implementation of a client-server model. Communication must be started by one of the clients. The server waits for the client to start the communication.
A socket is a process or an existing thread in the client and server machine, it allows the client and server to read and write information.