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 09-02-2011
breadagast breadagast is offline
Miembro
 
Registrado: nov 2006
Posts: 10
Poder: 0
breadagast Va por buen camino
Limitar velocidad de subida y bajada usando idFTP

Hola a todos:

Necesito limitar la velocidad de subida y bajada usando el cliente FTP de los Indy 10 (TidFTP), he buscado en el foro pero no encontré nada (si no he buscado bien les pido disculpas), espero me puedan ayudar.

Muchas gracias.
Responder Con Cita
  #2  
Antiguo 11-02-2011
breadagast breadagast is offline
Miembro
 
Registrado: nov 2006
Posts: 10
Poder: 0
breadagast Va por buen camino
Hola de nuevo:

Veo que nadie se anima, este tema me es de vital importancia ya que tengo una cola de subida de ficheros por este componente trabajando en segundo plano y al disponer de todo el ancho de banda la aplicación se resiente mucho a la hora de realizar las consultas SQL.

Si alguien lo ha investigado le ruego me responda, y si habeis llegado a la conclusión de que no se puede hacer con este componente os agradecería que me lo dijeseis para no perder más tiempo con el tema.

Un saludo a todos.
Responder Con Cita
  #3  
Antiguo 11-02-2011
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Es un tema complejo.
Me da la impresión de que si utilizas componentes que no implementan esa característica va a ser difícil conseguirlo.
Busca por internet por "Bandwidth throttling" que es el término que se utiliza para ello, a ver si encuentras algo.

Siento no poder darte más información.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #4  
Antiguo 11-02-2011
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Pues vaya ayuda la mia...
Justo estaba escribiendo el mensaje y me ha dado por buscar en las indy sobre el término throttler.

Resulta que las indy poseen una clase llamada TIdInterceptThrottler (de la que yo no tenía ni idea ) y cuya descripción es:

----------------------------------------------------------------------
TIdInterceptThrottler is a TIdConnectionIntercept descendant that implements a connection intercept with the capability to restrict throughput on the connection to a target number of bits per second.

TIdInterceptThrottler provides overridden Send and Receive methods that implement bandwidth checking and preservation using the target value
indicated in BitsPerSec.
----------------------------------------------------------------------


No te aseguro que te pueda servir (porque me acabo de enterar de sus existencia ), pero al menos tienen pinta de que va por ahí el tema.

Si avanzas sobre el tema, ya nos dirás...

Un saludo.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #5  
Antiguo 11-02-2011
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Por cierto, si buscas en los foros de AtozedSoftware sobre el susodicho componente, puedes encontrar cosas interesantes.

Un saludo.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #6  
Antiguo 11-02-2011
breadagast breadagast is offline
Miembro
 
Registrado: nov 2006
Posts: 10
Poder: 0
breadagast Va por buen camino
Gracias Neftali:

Tu siempre andas por aquí. Reviso todo y de funcionar lo coloco aquí por si lo necesita alguien más.

Un saludo.
Responder Con Cita
  #7  
Antiguo 11-02-2011
breadagast breadagast is offline
Miembro
 
Registrado: nov 2006
Posts: 10
Poder: 0
breadagast Va por buen camino
Ya está hecho gracias a los apuntes de Neftali.

Desde el evento "OnDataChannelCreate" del componente cliente de FTP (TidFtp) ponemos lo siguiente:

Código:
 
procedure TDMFtp.IdFTP1DataChannelCreate(ASender: TObject;
  ADataChannel: TIdTCPConnection);
var
  LThrottle: TIdInterceptThrottler;
  bitpsecond: integer;
begin
  bitpsecond := 30; //KB
  LThrottle := TIdInterceptThrottler.Create(ADataChannel);
  ADataChannel.IOHandler.Intercept := LThrottle;
  LThrottle.BitsPerSec := bitpsecond * 8192; 
end;
procedure TDMFtp.IdFTP1DataChannelDestroy(ASender: TObject;
  ADataChannel: TIdTCPConnection);
begin
  with ADataChannel.IOHandler do
  begin
    Intercept.Free;
    Intercept := nil;
  end;
end;
bitpsecond es una variable que tengo declarada fuera del procedimiento para poder cambiar la velocidad.
La velocidad se establece por cada conexión que realiza el componente.

Un saludo y espero que os sirva a los que lo necesiteis.
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Automatizar la subida de imagenes a internet gulder Varios 11 20-08-2008 00:37:13
Limitar velocidad de Bajada con TidHttp sagitarius Internet 0 26-06-2007 14:12:58
como aumento la velocidad del DBE usando paradox? orfeo Conexión con bases de datos 1 24-06-2003 10:17:24


La franja horaria es GMT +2. Ahora son las 23:15:35.


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