Ola amigos,
Estou precisando pegar a taxa de upload e download de um iMac (Unix).
Ja consegui pegar pacotes perdidos e distancia atraves do comando ping.
Se alguem souber algum comando parecido ajudaria mto.
Rodrigo Cunha
Ola amigos,
Estou precisando pegar a taxa de upload e download de um iMac (Unix).
Ja consegui pegar pacotes perdidos e distancia atraves do comando ping.
Se alguem souber algum comando parecido ajudaria mto.
Rodrigo Cunha
Este resolvi da seguinte forma:
Seria uma Thread:
Esta funcionado tbem.
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.IOException;
import java.util.Scanner;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.Timer;
public class timer_range_bandwith implements Runnable {
static String display_all_change = null;
static int pacotes_perdidos = 0;
static int count_limit = 0;
static String rate_down = null;
static String rate_up = null;
static int limit_go = 0;
static int contador = 0;
static int count_sum =0;
public static Timer t = null;
public static Timer t_count = null;
static int rate_up_1 = 0;
static int rate_up_2 = 0;
static String myvar1 = null;
static String myvar3 = null;
static String myvar2 = null;
static String myvar4 = null;
static boolean free_account=false;
public JLabel lbl_pic_s3 = new JLabel();
public timer_range_bandwith() {
}
public void run() {
// TODO Auto-generated method stub
System.out.println("**** START THREAD BANDWITH ****");
/** Ping do medidor de internet e da tela de Estatisticas de Rede */
ActionListener action = new ActionListener() {
public void actionPerformed(ActionEvent actionEvent) {
// TODO Auto-generated method stub
String comando_1="netstat -ib | grep -e \"" + GraphicalUA.en_selected + "\" -m 1 | awk '{print $7}'";
//String comando_2="netstat -ib | grep -e \"en1\" -m 1 | awk '{print $10}'";
String down_rate = null;
String up_rate = null;
Scanner S_2 = null;
String change_display_all = null;
//Scanner S_3 = null;
try {
S_2 = new Scanner( Runtime.getRuntime().exec(comando_1).getInputStream());
int line_en1 = 0;
//While para pegar o valor
while(S_2.hasNextLine()) {
down_rate = S_2.nextLine();
//down_up_network=S_2.nextLine()+"\n";
int parse_start = down_rate.indexOf(GraphicalUA.en_selected);
int parse_end = 99;
if (parse_start > -1) {
change_display_all=down_rate.substring(parse_start,parse_end);
}
}
if (contador==0) {
myvar1 = change_display_all.substring(59, 68);
myvar3 = change_display_all.substring(83, 93);
} else if (contador==1) {
myvar2 = change_display_all.substring(59, 68);
myvar4 = change_display_all.substring(83, 93);
System.out.println("**********************");
System.out.println("myvar1: " + myvar1);
System.out.println("myvar3: " + myvar3);
System.out.println("myvar2: " + myvar2);
System.out.println("myvar4: " + myvar4);
System.out.println("**********************");
//# find the difference between bytes in and out during that one second
System.out.println("&&&&&&&&&&&&&");
float subin=(Integer.parseInt(myvar2.trim()) - Integer.parseInt(myvar1.trim()));
float subout=(Integer.parseInt(myvar4.trim()) - Integer.parseInt(myvar3.trim()));
System.out.println("subin: " + subin);
float subin_temp = subin / 1024;
try {
guiStatusInternet.guiStatusInternet.lbl_imagem_entrada.setText
(String.valueOf(subin_temp).substring(0,4) + " Kbp/s");
} catch (Exception en) {
System.out.println("Err changing message to kbps");
//en.printStackTrace();
}
System.out.println("subout: " + subout);
float subout_temp = subout / 1024;
try {
guiStatusInternet.guiStatusInternet.lbl_imagem_saida.setText(String.valueOf(subout_temp).substring(0,4) + " Kbp/s");
} catch (Exception e1) {
// TODO Auto-generated catch block
//e1.printStackTrace();
System.out.println("Err parse bandwith message 001");
}
contador=0;
System.out.println("&&&&&&&&&&&&&");
System.out.println("**********************");
myvar1=null;
myvar2=null;
myvar3=null;
myvar4=null;
return;
}
contador++;
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
};
if (t==null) {
t = new Timer(1000, action);
t.start();
}
}
public static void stop_bandwith() {
t.stop();
}
}