Salve,
sono alle prime armi con la programmazione Java, perciò chiedo una mano a chi ha mai fatto una cosa simile.
Sto sviluppando un miniprogramma che utilizza iperf3 per testare il traffico in una rete. Ho scaricato iperf3.exe e l'ho posto in una cartella nel mio workspace, ma non so come avviarlo.
Sto utilizzando la classe Runtime richiamando il programma, ma non so come impostare la stringa di comando per l'exec().
Ho notato che facendo:
Runtime rt = Runtime.getRuntime();
Process proc = rt.exec("cmd /c dir src");
mi visualizza il contenuto della cartella src del workspace, proprio come si fa in dos.
Ho pensato che i comandi vengono inserite come si fa in dos, in questo caso dunque dovrei scrivere:
Runtime rt = Runtime.getRuntime();
Process proc = rt.exec("cmd /c src/iperf/iperf3.exe -c 127.0.0.1 -p 5201");
ho nel frattempo aperto un prompt mettendomi in ascolto con l'istruzione:
iperf3.exe -s
La porta in ascolto è ovviamente 5201.
Il mio codice poi dovrebbe visualizzare la risposta facendo:
InputStream stdin = proc.getInputStream();
InputStreamReader isr = new InputStreamReader(stdin);
BufferedReader br = new BufferedReader(isr);
String line = null;
System.out.println("<OUTPUT>");
while ( (line = br.readLine()) != null)
System.out.println(line);
System.out.println("</OUTPUT>");
Potreste consigliarmi come fare????