Para ser mais exato, minha duvida é como tiro a quantidade de bytes transmitidos.
O byteRead da um número de 50-300 e o buffer da 641024 ou 2(641024) a cada interação do loop
estou transmitindo arquivos de 2000kb.
O número de bytes transmitidos tiro do buffer ou algum calculo entre o byteRead e o buffer ?
vtr002
Do jeito que está sua função você só conseguirá pegar qual foi a velocidade total do processo se a circular;
Mas se você quiser fazer em cima dos ByteRead, voCe consegue ter um valor mais dinamico
ViniGodoy
Você tem que somar os bytesRead num acumulador. Os bytesRead eram quantos bytes estavam disponíveis no socket naquele momento.
O calculo que o colega passou é a velocidade média. Você está interessado na velocidade instantânea. Isso é um pouco mais difícil de calcular.
Eu criaria uma pequena lista, com os dados transmitidos de segundo em segundo nos últimos 5 segundos. E faria o total só desses últimos 5 segundos. Assim, você consegue perceber melhor a taxa de transmissão naquele momento.
E
entanglement
O que o Vinigodoy lhe sugeriu é a famosa “média móvel”. Você pode ver um exemplo disso se pedir um gráfico de velocidade de transmissão no Wireshark (recentemente tive de usar esse gráfico).
Se quiser algo que é mais fácil de calcular (no sentido que você não precisa guardar os últimos N dados mas sim apenas um), use um troço chamado “média móvel exponencial”.
Embora ela seja muito usada para análise de cotações de ações na Bolsa ( procurar por “média móvel exponencial” vai realmente lhe voltar um gráfico usado para esse tipo de análise) essa “média móvel exponencial” pode também ser usada para medir velocidades e tempos aproximados de conclusão.
Muito Obrigado, consegui resolver.
por não ter muito tempo para a entrega fiz como o ViniGodoy disse mesmo, se sobrar tempo vou dar uma olhada na media móvel exp.