Build a class that accepts TCP connections and send out responses.
This process has to be multithreaded.
Parsing of the incoming and outgoing messages are not to be handled with in the class but handled as events, so that the application (class) which handles the server class can create its own logic.
Server class needs to be implemented in an application which can display processed messages and can start and stop the server (GUI).