Client script that connects to the socket created by server, and registers itself to the server database. After successful login/signup, the client has options to either sit idle and listen to new incoming clients or make a connection request to other registered clients on the server.
If the user wants to listen for connection requests, then the client will create a new socket and listen for incoming connections.
If the user chooses to connect to another client (say ClientB), then the client will send connection request to the ClientB. For this to happen successfully, clientB should be in listening mode and have a socket open for incoming requests.