escribí una aplicación que sincroniza carpetas locales con carpetas en línea, pero se come todo mi ancho de banda, ¿cómo puedo limitar la cantidad de ancho de banda que usa la aplicación? (programáticamente)?Limite velocidades de ancho de banda
Respuesta
Tome un vistazo a http://www.codeproject.com/KB/IP/MyDownloader.aspx
Está usando la técnica bien conocida que se puede encontrar en Downloader.Extension \ SpeedLimit
Básicamente, antes de que más datos se leen de una corriente, se realiza una comprobación sobre cómo muchos datos han sido leídos desde la iteración anterior. Si esa tasa excede la tasa máxima, entonces el comando de lectura se suspende por un tiempo muy corto y la verificación se repite. La mayoría de las aplicaciones usan esta técnica.
Pruebe esto: http://www.netlimiter.com/ Ha estado en mi lista de "verificar esto" durante mucho tiempo (aunque todavía no lo he probado).
Yo diría "no". A menos que esté haciendo algo realmente incorrecto, su programa no debería estar acaparando ancho de banda. Su enrutador debe estar equilibrando el ancho de banda disponible entre todas las solicitudes.
te recomiendo que hagas lo siguiente:
a) Crear hash MD5 para todos los archivos. Compare hashes y/o fechas y tamaños para los archivos y solo sincronice los archivos que han cambiado. A menos que esté sincronizando archivos masivos, no debería tener que sincronizar una gran cantidad de datos.
b) Limite la velocidad de envío. En su hilo de carga, lea los archivos en segmentos de 1-8 KB y luego llame a Thread.Sleep después de cada fragmento para limitar la velocidad. Sin embargo, tienes que hacer esto en el lado de la carga.
c) Transmitir todo a través de un flujo de Gzip. (System.IO.Compression) Para archivos de texto, esto puede reducir el tamaño de los datos que se deben transferir.
Espero que esto ayude!
thanx ... sus comentarios de compresión y envío Definitivamente será útil también. mis carpetas pueden tener hasta 30 gigas ... y el límite debe establecerse en la aplicación en sí. El "Paladín Refractado" me indicó la dirección correcta para establecer la tasa programática. –
- 1. ¿Simular ancho de banda limitado desde Chrome?
- 2. Cálculo del ancho de banda
- 3. Limitación de membresía por ancho de banda
- 4. Uso del ancho de banda de memoria
- 5. gestión de ancho de banda con rieles?
- 6. Vídeo HTML5: Detección de ancho de banda
- 7. ¿SSL causa mucho más ancho de banda?
- 8. Disminución del ancho de banda en Python
- 9. Disminución del ancho de banda en C#
- 10. Estrangulamiento del ancho de banda con netem?
- 11. preguntas sobre Azure Instancia ancho de banda asignado
- 12. Obtener estadísticas de ancho de banda de conexión
- 13. Carga de php y ancho de banda/pregunta de tráfico
- 14. ancho de banda y simulador de tráfico para aplicaciones web?
- 15. ¿Cómo puedo obtener la velocidad de ancho de banda disponible?
- 16. Ancho de banda de memoria compartida Fermi vs Kepler GPU
- 17. Comprobar la velocidad de conexión (ancho de banda) en Xcode
- 18. ¿Cómo obtener la velocidad de ancho de banda (descarga) actual?
- 19. ¿Sigue CURLOPT_NOBODY descargando el cuerpo? Utilizando el ancho de banda
- 20. límite Virtual Box ancho de banda en la red
- 21. RabbitMQ velocidades de transferencia aceleran?
- 22. Ancho de banda Implicaciones de datos de incrustación de videos de Youtube en mi sitio web
- 23. eficiencia del ancho de banda de encuestas de chat de Ajax
- 24. Detectando la velocidad de conexión de red y el uso de ancho de banda en C#
- 25. servicio Banda de transmisión usando javascript
- 26. Ejecutando apt-get en EC2 sin toser por un montón de cargos de ancho de banda
- 27. ¿Cómo estrangulas el ancho de banda de una conexión de socket en C?
- 28. La mejor herramienta para monitorear el ancho de banda de la conexión de red
- 29. Prueba simple de ancho de banda/latencia para estimar la experiencia de un usuario
- 30. Biblioteca de Java para medir el ancho de banda, la latencia, el conteo de saltos?
¿Con qué frecuencia busca actualizaciones? ¿Y con qué frecuencia * necesita * verificar? Disminuir el intervalo de actualización probablemente ayude mucho. –
Pregunta duplicada. Consulte -> http://stackoverflow.com/questions/847422/how-to-programatically-limit-bandwidth-usage-of-my-c-windows-forms-application –