Code java calculer le débit de connection

Hamzaoui - 12 avril 2016 à 12:35
 sabrina - 6 sept. 2019 à 18:56
Bonjour, je suis en train de développer une application de mesure de qualité de service internet, donc je cherche à écrire un petit programme qui calcule le débit de ma connexion!
Si quelqu'un sait comment faire, ou a déjà écrit un tel programme merci d'avance

2 réponses

Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
13 avril 2016 à 07:55
Salut,

Je pense que les chapitres suivant peuvent t'aider: 1, 2


0
j'ai essayé d'utiliser se code mais les résultats que je me tiens restent toujours "0.0" est ce que vous pouvez m'aider pour trouver une solution
merci



import java.util.Vector;
import java.util.Date;
import java.util.Enumeration;

/**
*
  • @author HAMZAOUI
  • /

public class DataMonitor {

protected Vector samples;
protected Date epoch;

public DataMonitor() {
samples = new Vector();
epoch = new Date();
}

// Add a sample with a start and finish time.
public void addSample(long bcount, Date ts, Date tf) {
samples.addElement(new DataSample(bcount, ts, tf));
}

// Get the data rate of a given sample.
public float getRateFor(int sidx) {
float rate = (float) 0.0;
int scnt = samples.size();
if (scnt > sidx && sidx >= 0) {
DataSample s = (DataSample) samples.elementAt(sidx);
Date start = s.start;
Date end = s.end;
if (start == null && sidx >= 1) {
DataSample prev = (DataSample) samples.elementAt(sidx - 1);
start = prev.end;
}

if (start != null && end != null) {
long msec = end.getTime() - start.getTime();
rate = 1000 * (float)s.byteCount / (float)msec;
}
}

return rate;
}

// Get the rate of the last sample
public float getLastRate() {
int scnt = samples.size();
return getRateFor(scnt - 1);
}

// Get the average rate over all samples.
public float getAverageRate() {
long msCount = 0;
long byteCount = 0;
Date start;
Date finish;
int scnt = samples.size();
for (int i = 0; i < scnt; i++) {
DataSample ds = (DataSample)samples.elementAt(i);

if (ds.start != null)
start = ds.start;
else if (i > 0) {
DataSample prev = (DataSample)samples.elementAt(i-1);
start = ds.end;
}
else
start = epoch;

if (ds.end != null)
finish = ds.end;
else if (i < scnt - 1) {
DataSample next = (DataSample)samples.elementAt(i+1);
finish = ds.start;
}
else
finish = new Date();

// Only include this sample if we could figure out a start
// and finish time for it.
if (start != null && finish != null) {
byteCount += ds.byteCount;
msCount += finish.getTime() - start.getTime();
}
}

float rate = -1;
if (msCount > 0) {
rate = 1000 * (float)byteCount / (float)msCount;
}
System.out.println(rate);
return rate;
}
public static void main (String []args){
DataMonitor d =new DataMonitor();
System.out.println(d.getLastRate());
}
}
0
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111 > Hamzaoui
13 avril 2016 à 14:29
Salut,

Si tu utilises le code que tu as posté c'est normale... tu n'y ajoutes pas de samples...
0
Hamzaoui > Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023
14 avril 2016 à 10:49
bonjour , j'ai essayé d'ajouter une class DataSample et le résultat reste le même
import java.util.Vector;
import java.util.Date;
import java.util.Enumeration;
public class DataSample {
long byteCount;
Date start;
Date end;

DataSample(long bc, Date ts, Date tf) {
byteCount = bc;
start = ts;
end = tf;
}

}
0
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111 > Hamzaoui
14 avril 2016 à 11:18
Salut,

Pour le coup, tu peux ajouter toutes les classes que tu veux, mais si avant l'appel de la méthode getLastRate tu n'ajoutes pas de sample (voir méthode addSample), le résultat sera TOUJOURS le même.
0
please can you show me how to do this
0
salut,
moi aussi j'ai un difficulté pour développer une application de calcule de débit internet :( s'il vous plait si tu arrive à une solution pouvez vous le m'envoyé et merci d'avance
0
Rejoignez-nous