de montacargas para asignar a la OnWorkBegin
, OnWork
y OnWorkEnd
acontecimientos del objeto de la conexión TIdTCPConnection
. El evento OnWorkBegin
tiene un parámetro AWorkCountMax
que le proporciona los bytes esperados totales que se transfieren (si se conocen con anterioridad). El evento OnWork
tiene un parámetro AWorkCount
que le proporciona un total acumulado de cuántos bytes se han transferido realmente desde que se desencadenó el evento OnWorkBegin
.
Cada vez que se dispara el evento OnWork
, restar el valor anterior AWorkCount
partir del valor actual AWorkCount
para determinar cuántos bytes se han transferido entre los dos eventos, y luego dividir ese valor por la cantidad de tiempo que ha transcurrido entre los dos eventos. Con ese valor final, puede calcular b/seg, kb/seg, mb/seg, etc. según sea necesario.
Dependiendo de cómo exactamente va a enviar/recibir los datos, puede que tenga que llamar manualmente los métodos BeginWork()
y EndWork()
de TIdTCPConnection
para obtener los eventos OnWork...
a empezar a disparar. La mayoría de los métodos de lectura/escritura de Indy no se llaman internamente al Begin/EndWork()
.
No coloque la información de la etiqueta en el título de su pregunta. En primer lugar, anula el objetivo de las etiquetas y hace que el tema de la pregunta sea más largo y difícil de leer. Además, cuando usa algo como Indy, donde existen grandes diferencias entre las versiones, ayuda si incluye qué versión de los componentes está usando. Gracias. –