Threaded Listen Server

Purpose
The 'Threaded Listen Server' (TLS) is meant to be a DLL which can nicely integrate in to any .NET application. It's meant to sit as a server, waiting for a request. Given a specific request (such as 'status') it will return a response (by starting an event) allowing a client to easily manage many machines. For example, if you have many clients which run an application of yours you can insert this module and it can easily poll those applications and get a return status.

Outlining Exact Objectives

  • Supply a constructor with an array of requests to wait for.
  • When a requests is found, throw an event. This event should also supply the request that got matched.
  • Should be multi-threaded to allow a many-to-many connection.
  • Failure definitions should be configurable. Timeouts being the first to come to mind.

Notes

  • Seems like the Windows telnet is different than Windows. It sends a letter at a time, while most other variants wait until the enter key. Catching this seems difficult.