Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Internet
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 02-12-2004
Avatar de Enan0
Enan0 Enan0 is offline
Miembro
 
Registrado: may 2004
Ubicación: Argentina
Posts: 565
Poder: 20
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
  #2  
Antiguo 02-12-2004
Avatar de Enan0
Enan0 Enan0 is offline
Miembro
 
Registrado: may 2004
Ubicación: Argentina
Posts: 565
Poder: 20
Enan0 Va por buen camino
aca esta solo lo que puedo recibir que es lo que contiene el Buffer del SERVER. en teste caso es la peticion de la pagina

192.168.0.20
conectado con el server
GET http://www.google.com.ar/ HTTP/1.0
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*
Accept-Language: es-ar
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)
Host: www.google.com.ar
Proxy-Connection: Keep-Alive
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 06:14:46.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi