Description: Components derived from TServerSocket and TClientSocket to implement a particular protocol. Function is based in defining a serie of valid protocol messages (TStrings) and responding to protocol events (messages of any of those valid types).
The idea is that every protocol message is a stream. You "start" communication by SendStream(PMess:string Stream:TStream), this will trigger a protocol event for that message that lets the receiver to respond by adding content to the output stream (of the event handler), if content is added to the answer, the result will be the same as if the receiver had SendStream() with the same message.
This way any protocol can be implemented in a simpler way than using raw TClientSocket and TServerSocket.
File list (Check if you may need any files):
ServerProtSocket.pas