Ver Mensaje Individual
  #1  
Antiguo 02-12-2004
Avatar de Enan0
Enan0 Enan0 is offline
Miembro
 
Registrado: may 2004
Ubicación: Argentina
Posts: 565
Reputación: 21
Enan0 Va por buen camino
Angry idtcpserver + idtcpclient (proxy)

Hola amigos bueno debido a que al idmappedport no le e podido entontrar la vuelta. estoy intentando hacerlos con sockets.
mi idea es hacer una especie de PROXY, que me valla leguendo el contenido del buffer. el tema es que con los componentes Internet (sockserver y client) lo puedo hacer. ante la escritura en un socket se lo paso al otro y viceversa. y esto funciona. solo que tengo un problema. cuando una pagina me pide multiples conexiones como suelen hacer para descargar imagenes. produce un error. aparte estos componentes hay veces que no registran el envento onwrite.. entonces se me dio por usar los de indy, y que manejan hilos.. y bueno hace unos dias que estoy trabado. porque no puedo pasar lo que recibe el sockserver al cliente (para qeu lo pase al router) y viceversa..

pego el codigo aver si alguien me ayuda...

Código:
Código Delphi [-]
 procedure TForm1.IdTCPServer1Execute(AThread: TIdPeerThread);
 var
 algo:string;
 
 begin
    algo :=atHRead.Connection.CurrentReadBuffer;
    IF NOT IdTCPClient1.Connected THEN   IdTCPClient1.Connect;
    memo1.Lines.Add(algo);
    IdTCPClient1.WriteLn(algo);
 end;
 
 procedure TForm1.IdTCPClient1Connected(Sender: TObject);
 begin
    Memo1.Lines.Add('conectado con el server');
 end;
 
 procedure TForm1.IdTCPClient1Work(Sender: TObject; AWorkMode: TWorkMode;
   const AWorkCount: Integer);
 var
 algo:string;
 begin
 case  AWorkMode of
    wmread: begin
     algo:=(idtcpclient1.CurrentReadBuffer);
     memo1.Lines.Add(algo);
    end;
    wmWrite:begin
 
    end;
 end;
 end;
 
 procedure TForm1.IdTCPClient1WorkBegin(Sender: TObject;
   AWorkMode: TWorkMode; const AWorkCountMax: Integer);
 begin
 
 case AWorkMode of
    wmRead: begin
     MEMO1.Lines.ADD('RECIBO DESDE INTERNET');
    End;
    wmWrite:begin
     memo1.Lines.Add('ENVIO AL BROWSER');
    END;
 END;
 end;
PD: perdon si hay algun error grosero por es que he ido probando de todo y bueno... deje los nombres strandar de los componentes para que sea mas facil. gracias

GRacias..
Responder Con Cita