We have already seen about communication between a single client and a server in the previous tutorials, but ironically there will be many clients making requests to a single server this is called Multithreaded Socket Programming, that means a Multithreaded Server can communicate with more than one client at the same time. From the following figure you can understand how a Server can communicate with more than one client at the same time.
Creating an independent thread for each connection request of a client is the basic
initiative behind Multithreaded Socket Programming .That means for each Client, there is a separate Client Thread in Server. So the Client can communicate independently with own Client Thread in Server.
The Multithreaded Socket Programming has two sections.
- Multithreaded Server Socket Program
- Multithreaded Client Socket Program
First you have to create both the Server and client programs then initiate the server first and then the clients(more than one in number), a separate Connection ID number is created by the server for each client program it gets associated with.