I have to design a server which can able to send a same objects to many clients. clients may send some request to the server if it wants to update something in the database.
Things which are confusing:
- My server should start the program (where I perform some operation and produce 'results' , this will be send to the client). 
- My server should listen to the incoming connection from the client, if any it should accept and start sending the ‘results’. 
- Server should accept as many clients as possible (Not more than 100). 
- My ‘result' should be secured. I don’t want some one take my ‘result' and see what my program logics look like. - I thought point 1. is one thread. And point 2. is another thread and it going to create multiple threads within its scope to serve point 3. Point 4 should be taken by my application logic while serialising the 'result' rather the server. - Is it a bad idea? If so where can i improve? 
Thanks
 
     
    