Servidor proxy usando Indy

Soy nuevo en Indy y quiero construir un servidor proxy simple con él. Esta es una biblioteca bastante grande, y no sé por dónde empezar. Cuando el cliente se conecta al servidor, OnExucute se activa y recibe la conexión del cliente como parámetro (AContext.Connection).

Quiero hacer lo siguiente:

[client connection] := AContext.Connection
read host/port from [client connection]
[remote connection] := connect to host/port
while both connections alive:
  if data available in [client connection]:
    read data from [client connection]
    write data to [remote connection]
  if data available in [remote connection]:
    read data from [remote connection]
    write data to [client connection]

La pregunta es ¿qué funciones debo usar para eso? Ahi estaIOHandler propiedad en objeto de conexión con toneladas de ellos. Por favor ayuda.

Estoy usando Indy que se envía con Delphi2010.

Respuestas a la pregunta(1)

Su respuesta a la pregunta