title: Looking for a communication framework for delphi
body: <p>I am looking for a communication framework for delphi,  we know there are so many communication frameworks for other languages , wcf, ecf and so forth, but i have nerver found the one for delphi till now , anybody who knows about it can give me an ider?</p>
  
  <p>There are some requirements i need ,as follows:</p>
  
  <ul>
  <li><p><strong>Building an application(server or client) without caring how to do communications with each other between two endpoints.</strong></p>
  
  <p>Imagine that we use mailbox for exchanging messages,it seems that the communication is transparent. </p></li>
  <li><p><strong>Supports communication protocol extending.</strong></p>
  
  <p>We often need to exchange the messages between 2 devices, but the communication protocol is not a public or general one, so we need to extend the framework,to implement a communication protocol for receiving or sending a message completely.</p></li>
  <li><p><strong>Supports asynchronous and synchronous communication</strong></p></li>
  <li><p><strong>Supports transmission protocol extending.</strong></p>
  
  <p>The transmission protocol can implemented by winsocket, pipes, com, windows message, mailslot and so forth.</p></li>
  </ul>
  
  <p>In client application, we can write code snips like follows:</p>
  
  <pre><code>var
    server: TDelphiCommunicationServer;
    session : ICommunicationSession;
    request, response: IMessage;
  begin
    session := server.CreateSession('IP', Port);
    request := TLoginRequest.Create;
    session.SynSendMessage(request);
    session.WaitForMessage(response, INFINITE);
    .......
  end;
  </code></pre>
  
  <p>In above code snips , TLoginRequest has implemented the message interface. </p>