I am working on project which require peer to peer connection between multiple clients. Clients are Window and Android Applications. So far I am able to connect the Window and Android Application to the Server which accept the connection on two port one for Window and One for the Android. In this Project we require to send some file and other resources from window to android, when the android client request. I want to know whether it is a good practice to accept the connection from window on start-up and store the socket resources in Vector with Window Client Id, And when Android send the request for a particular window client then use that socket resource and connect window to android client, Or store the window IP and Port in Database, Create the connection to window when request came from Android. Which approach is better and how to achieve that. There may be 10L connection at the same time. I am developing all the three application(Android,Web and Window) in Java.