I am looking for a multi-threaded server application which can sit on a Windows server and accept incoming TCP/IP connections on a specified port.
These connections should remain open and any data received should be passed onto a function which can process the data, (this will be added in by myself), so for now all this function needs to do is print out the received data into a debug window or text file.
Each new thread should be able to be allocated an unique ID, it should be possible to transmit data to a given connection by specifying the ID of the thread.
There should be a thread management system whereby the server application periodically sends information via each active connection, and if no reply is received the connection should be gracefully shut down and the thread ended (A Ping type function).
An active count of the number of active connections must be kept and it should be possible to reject further incoming connections if this limit is exceeded.
This should run as a Windows Service and must be developed in the latest version of VB.NET 2010.
I hope this is enough information for this bare bones application, please let me know if you need more info, i will require the completed source code.