Ik heb nu een werkende upload functie, maar zou graag willen dat er ook word berekend hoelang het uploaden nog ongeveer duurt. Ik dacht door te kijken naar de huidige upload snelheid en aan de hand daarvan kan ik wel berekenen hoelang het nog duurt. En ik heb ook een buffer dus zo kan ik steeds wat wijzigingen aanbrengen aan de upload tijd als de upload snelheid wijzigd. Maar heb geen idee hoe ik het moet doen en met FtpWebResponse bevriest mijn applicatie steeds (Misschien gebruik ik het verkeerd).
Dit is de functie die ik nu heb, hopeelijk kan iemand me helpen.
Ja dat weet ik wel, ben ik wel vaker tegengekomen. Maar zal nog wel eens kijken . Maar op welke regel zie jij dan dat ze de upload snelheid kijken? Of bedoel je gewoon deze class te gebruiken want die is namelijk niet gratis.
Abbas - 05/12/2008 16:04 (laatste wijziging 05/12/2008 16:06)
Crew .NET
Als je even op Google bijvoorbeeld zoekt naar calculate remaining download time C# heb je vrij snel een aantal goede links. Hier is er een waar je volgend mij wel verder mee kan: klik!
Moet toegeven, dat is 1 van de weinige zoektermen waar ik niet aan had gedacht . Maar over jouw link, die had ik ook gevonden maar er word daar javascript gebruikt en ik gebruik C# forms (mss moeten vermelden ), dus hoe kan ik dat javascript gedeelte ombouwen zodat het in een form applicatie werkt?
En wil reallife berekenen, dus moet ook de huidige upload snelheid te pakken krijgen, hoe doe ik dat dan?
Die JavaScript en C# code zijn twee aparte dingen, het is niet dat ze samen hoeven worden gebruikt!
Hm, maar ik weet iets, het is een beetje m'n eigen logica maar ik denk dat het wel kan werken. Als je de volgende dingen kan berekenen heb je wat je nodig hebt:
- totale grootte
- verstreken tijd (sinds het downloaden gestart is)
- de grootte die al gedownload is
Hier mee kunnen we de snelheid berekenen, die variabel is, de totale tijd en de resterende tijd. Wel nu, je maakt dan een formule om de resterende tijd te berekenen, in stapjes. Stel:
- grootte: 100kb
- verstreken tijd: 4sec
- reeds gedownload: 40kb
De snelheid op dat moment is dan:
40kb/4sec = 10kb/sec
De resterende tijd is dan, de totale duur min de verstreken duur. De totale duur is:
100kb aan 10kb/sec = 10sec
De resterende tijd is dus:
10sec - 4sec = 6sec
Dit steek je in een functie ofzo die telkens aangeroepen wordt en waardoor alles opnieuw berekend wordt. Dit is net hetzelfde als bij Windows. Hopelijk ben je hier wat mee!