Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di energie
    Registrato dal
    Apr 2003
    Messaggi
    446

    [JAVA]Determinare velocità di trasferimento(in kbs e in secondi)

    Ciao a tutti,sto creando un applicazione client/server che permette il trasferimento di files,vorrei inserire ora un indicatore per la velocità del trasferimento, ed un contatore che indichi il tempo passato e il tempo rimanente...qualcuno può aiutarmi?Se servisse del codice,sia il client che il server sono disponibili a qst pagina:

    http://forum.html.it/forum/showthrea...ht=java+socket


    Grazie a tutti

  2. #2
    Utente di HTML.it L'avatar di energie
    Registrato dal
    Apr 2003
    Messaggi
    446
    nessuno?

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    Teoricamente dovresti prendere il tempo di sistema all'inizio e alla fine del while. Il tuo buffer è di 4KB è tanto è quel che scarichi (al più, visto che l'ultima lettura potrebbe benissimo non essere di 4KB) alla volta.

    codice:
    while ((letti = is.read(buffer)) > 0) {
                //time = System.currentTimeMillis();
                fos.write(buffer, 0, letti);
                //time = (-time+System.currentTimeMillis())/1000;
                //a questo punto il transfer-rate istantaneo
                //sarebbe 4*1024/time B a/s
    }
    Perché dico sarebbe? Perché con una adsl e il tempo in millisecondi quella variabile time potrebbe essere benissimo 0. Possibile soluzione, usare System.nanoTime() ma non so quanto affidabile sia e onestamente non l'ho mai usata. Se qualcuno ha esperienza a riguardo, sarei interessato anch'io.
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.