Salve a tutti ..
sto cercando di realizzare una classe che mi gestisse la ricezione e l'invio di comandi sulla interfaccia telnet.
Pensavo che fosse semplice da realizzare con le java.net ma forse mi sbagliavo
io ho scritto questo codice e con esso vedo che al pc con il server telent mi ci collego ma poi non vedo ne l'output del telent ne riesco a inviare comandi
nel mio main facciocodice:package ConnTelnet; import java.io.*; import java.net.*; import java.util.logging.Level; import java.util.logging.Logger; public class jtelnet { private BufferedWriter wr; private BufferedReader rd; private InetAddress addr; private SocketAddress sockaddr; private Thread th = new Thread(); public jtelnet(String ip, int port) { try { System.out.println("pio Telnet"); addr = InetAddress.getByName(ip); sockaddr = new InetSocketAddress(addr, port); Socket sock = new Socket(); int timeoutMs = 2000; // 2 secondi sock.connect(sockaddr, timeoutMs); //invio dati wr = new BufferedWriter(new OutputStreamWriter(sock.getOutputStream())); //lettura dati rd = new BufferedReader(new InputStreamReader(sock.getInputStream())); Read(); } catch (Exception ex) { Logger.getLogger(jtelnet.class.getName()).log(Level.SEVERE, null, ex); } } @SuppressWarnings("static-access") private void Read() { try { wr.write("help\n"); while (true) { th.sleep(100); String rl = rd.readLine(); if (rl != null) { if (!rl.equals(null)) { System.out.println("'" + rl + "'"); } } } } catch (Exception ex) { Logger.getLogger(jtelnet.class.getName()).log(Level.SEVERE, null, ex); } } }
ora ho provato la connessione con il terminale putty e funziona , non capisco dove sto sbagliando.codice:jtelnet term = new jtelnet("192.168.0.180", 23);

Rispondi quotando