title: How to use Indy component to Send from a IDTCPServer socket with Multiple Bindings
body: <p>I wish to use multiple bindings on a <code>TIdTCPServer</code> socket component to send data to multiple different clients. I can successfully create the bindings and assign a different port number to each. Here is my code to create the bindings:</p>
  
  <pre><code>IdTCPServer1.Active := False;
  IdTCPServer1.Bindings.Clear;
  {create the new sockets}
  for i := 0 to NumberOfItemsSpin.Value-1 do
  begin
    IdTCPServer1.Bindings.Add;
    IdTCPServer1.Bindings.Items[i].Port := StartingPortSpin.Value+i;
  end;
  SocketsCreatedCount := IdTCPServer1.Bindings.Count;
  Timer1.Enabled      := SocketsCreatedCount &gt; 0;
  IdTCPServer1.Active := True;
  </code></pre>
  
  <p>The clients know the IP address and port to connect to, and are able to make a successful connection. However, I need to <em>asynchronously</em> <em>send</em> data to any one of the connected clients based on certain events. </p>
  
  <p>I know I can detect a <code>OnExecute</code> event, get the <code>Context</code> and reply, but my server socket needs to work asynchronously. It will not be polled by the Client.</p>
  
  <p>I know the client IP Address and port number from the connection info. However, I cannot find a way to send data to a specific client. How do I use the component to correctly map the binding and send data to the correct connected client?</p>