I am looking for a multithreaded TCP server application which can sit on a Windows PC and accept incoming TCP/IP connections on a specified port. The connections should remain open for a small amount of time (5 seconds), just to check if the server needs to send any data to client.
The data recieved by the server should be passed on to a function which can take action on the data, this will be done at a later date, so for now all this function needs to do is print out the recieved data into the debug window.
Each new thread should be able to be allocated an unique ID, it should be possible to tranmit data to a given connection by specifying the ID of the thread.
There should be a thread management system whereby the server application monitors active connections and if no data is received in a specified time (5 minutes), the connection should be gracefully shut down and the thread ended (garbage collector for inactive connections, close inactive connections).
Operating Sistem: Windows 2010
This must be developed in [url removed, login to view] 2013