Salve a tutti, ho un problema ed è una mattinata che ci![]()
Praticamente ho fatto una connessione ssh ,ad una macchina linux, tramite la libreria jsch e fin qui tutto bene.
Ho problemi su come leggere l'output della macchina linux a cui mi collego, nel senso che se per esempio eseguo "ls" dopo che ha finito di listare il contenuto mi si blocca sul comando readLine(), è come se non riceve EOF o comunque non capisce quando la macchina linux ha finito di inviare "risultati".
Ho cercato online e tutti quelli che hanno fatto la mia stessa cosa non hanno avuto questo problema.
Come posso risolvere???
codice:class Ssh { JSch jsch; Channel channel; Session session; protected String utente, pw, ip; String risultato="a"; BufferedWriter bw; BufferedReader br; Ssh(String ut, String psw, String ad) { utente = ut; pw = psw; ip = ad; } void connetti() { try { jsch = new JSch(); session = jsch.getSession(utente, ip, 22); session.setConfig("StrictHostKeyChecking", "no"); session.setPassword(pw); session.connect(30000); channel = session.openChannel("shell"); bw = new BufferedWriter(new OutputStreamWriter(channel.getOutputStream())); br = new BufferedReader(new InputStreamReader(channel.getInputStream())); channel.connect(30000); } catch (Exception e) { System.err.println(e); } } leggi() { try { System.out.println("sono nella leggi"); while (risultato!=null) { System.out.println("br.readline"); risultato = br.readLine(); System.out.println(risultato); } } } }
Grazie, per qualunque aiuto![]()

Rispondi quotando