Ho scritto un'app che sincronizza le cartelle locali con le cartelle online, ma mangia tutta la mia larghezza di banda, come posso limitare la quantità di larghezza di banda utilizzata dall'app? (Programatically)?Velocità limite larghezza di banda
risposta
Date un'occhiata a http://www.codeproject.com/KB/IP/MyDownloader.aspx
Sta usando la tecnica ben nota che si trova in Downloader.Extension \ SpeedLimit
In sostanza, davanti a più dati vengono letti di un torrente, un controllo viene eseguito su come molti dati sono stati letti dalla precedente iterazione. Se tale velocità supera la velocità massima, il comando di lettura viene sospeso per un tempo molto breve e il controllo viene ripetuto. La maggior parte delle applicazioni usa questa tecnica.
Prova questo: http://www.netlimiter.com/ È da tempo sulla mia lista "controlla questo" (anche se non l'ho ancora provato).
Direi "no". A meno che tu non stia facendo qualcosa di veramente sbagliato, il tuo programma non dovrebbe essere in difficoltà con la larghezza di banda. Il router dovrebbe bilanciare la larghezza di banda disponibile tra tutte le richieste.
vi consiglio di effettuare le seguenti operazioni:
a) Creare hash MD5 per tutti i file. Confronta hash e/o date e dimensioni per i file e sincronizza solo i file che sono stati modificati. A meno che non si sincronizzino file di grandi dimensioni, non è necessario sincronizzare molti dati.
b) Limitare la velocità di invio. Nel thread di caricamento leggere i file in blocchi da 1 a 8 KB e quindi chiamare Thread.Sleep dopo ogni blocco per limitare la velocità. Devi farlo sul lato upload, tuttavia.
c) Convogliare tutto attraverso un flusso Gzip. (System.IO.Compression) Per i file di testo questo può ridurre la dimensione dei dati che devono essere trasferiti.
Spero che questo aiuti!
grazie ... i tuoi commenti sulla compressione e sulla frequenza di invio sarà sicuramente utile anche. le mie cartelle possono contenere fino a 30 gig ... e il limite deve essere impostato sull'app stessa. "Paladino rifatto" mi ha indirizzato nella giusta direzione per la velocità di impostazione programmatica. –
- 1. Larghezza di banda cache per tick per CPU moderne
- 2. Velocità di trasferimento limite Rsync non funzionante
- 3. Limitazione della larghezza di banda in Python
- 4. L'SSL causa molta più larghezza di banda?
- 5. Regolazione della larghezza di banda tramite Twisted
- 6. Come ottenere la larghezza di banda di memoria da velocità di memoria di clock/memoria
- 7. Streaming WCF - Velocità limite
- 8. Determinazione della larghezza di banda della connessione di rete (velocità) Wi-Fi e dati mobili
- 9. Rilevamento della velocità della connessione di rete e dell'uso della larghezza di banda in C#
- 10. Utilizzo della larghezza di banda di memoria
- 11. Requisiti di larghezza di banda WebRTC
- 12. utilità della larghezza di banda utilizzando JavaScript
- 13. Larghezza di banda dalla presa cuffie/microfono
- 14. Limitazione della larghezza di banda tramite netem?
- 15. gestione della larghezza di banda con le rotaie?
- 16. Download manager - limite velocità download
- 17. Come ottenere la velocità corrente di banda (download)?
- 18. Come limitare a livello di programmazione l'utilizzo della larghezza di banda della mia applicazione C#?
- 19. PHP/Javascript: come posso limitare la velocità di download?
- 20. Limitazione della larghezza di banda di una connessione SSL
- 21. Limitare la larghezza di banda di http get
- 22. Misurare la larghezza di banda di rete in PHP
- 23. python GTK3 etichetta limite larghezza
- 24. Significato larghezza di banda in ggplot geom_smooth lm
- 25. Quale larghezza di banda della rete dovrei aspettarmi su GCE?
- 26. Richieste Python/urllib - monitoraggio dell'uso della larghezza di banda
- 27. Limitazione della larghezza di banda sulla porta Ethernet
- 28. Limite Larghezza iniziale della lista di selezione
- 29. NodeJS: qualsiasi modulo di limite di velocità espressa richiesta
- 30. Come utilizzare a mala pena la larghezza di banda disponibile per il programma
Con quale frequenza controllate gli aggiornamenti? E quanto spesso * devi * controllare? Ridurre l'intervallo di aggiornamento probabilmente aiuterà molto. –
Domanda duplicata. Vedi -> http://stackoverflow.com/questions/847422/how-to-programatically-limit-bandwidth-usage-of-my-c-windows-forms-application –