Come inviare più righe di informazioni per telnet host / AS400 e leggere con conseguente schermo in formato strutturato in Java

voti
0

Sto cercando di sviluppare un programma Java che può inviare più righe di informazioni a un host telnet / AS400, quindi riceverà la schermata risultante in un formato strutturato. Un esempio di questo può essere credenziali di accesso (user, passaggio, biblioteca, ecc).

Con telnet / AS400, quando il collega utente all'host mediante comando sollecito, visualizza più righe che i valori di ingresso possono essere immessi sul e poi inviati all'host. Come questo:

comando

[Interazione

Vediamo da l'esempio che è possibile inviare più righe di informazioni per l'host telnet utilizzando la riga di comando di Windows. Voglio creare un programma Java, che ha le stesse funzionalità (l'invio di comandi su più righe e la lettura sullo schermo in un formato strutturato).

Ho provato con il cliente Apache Telnet per leggere lo schermo utilizzando Apache Commons IOUtils. Come questo:

import java.io.IOException;
import org.apache.commons.io.IOUtils;
import org.apache.commons.net.telnet.TelnetClient;
import examples.util.IOUtil;

 // This class requires the IOUtil support class!
public final class Telnet {

public static final void main(String[] args) {
    TelnetClient telnet;

    telnet = new TelnetClient();

    try {
        telnet.connect(hostname, 23);
    } catch (IOException e) {
        e.printStackTrace();
        System.exit(1);
    }

 //   IOUtils
    IOUtil.readWrite(telnet.getInputStream(), telnet.getOutputStream(), System.in, System.out);

    try {
        telnet.disconnect();
    } catch (IOException e) {
        e.printStackTrace();
        System.exit(1);
    }

    System.exit(0);
}

}

che si traduce in lettura lo schermo dal InputStream e poi visualizzarlo. Come questo

[2J [1;22H[1m[0m [1m             Sign On             [0m [2;47H System  . . . . . :   NLSI5D   [3;47H Subsystem . . . . :   QINTER     [4;47H Display . . . . . :   QPADEV000Q [6;16H User  . . . . . . . 

Da questo punto non posso scegliere quale linea rimando informazioni. Più concretamente, se digito qualsiasi testo e rinviarlo attraverso la console, si pensa che sia per il campo nome utente. Non posso specificare qualsiasi altra linea o di un campo.

E 'possibile scegliere quale linea di ingresso campo che si sta inviando informazioni sull'uso di Java?

La ragione per cui ha bisogno di essere in Java è così che è possibile incorporare in un'applicazione Android.

È pubblicato 02/12/2019 alle 23:57
fonte dall'utente
In altre lingue...                            


1 risposte

voti
0

Probabilmente si sta andando a voler fare riferimento al progetto di TN5250J

Il protocollo di cui hai bisogno è 5250 su telnet. 5250 è il protocollo di visualizzazione utilizzato da IBM i. telnet dritto manca determinati codici di controllo, le chiavi e servizi forniti da 5250. Si può fare telnet lavoro per gli schermi semplici, ma la maggior parte non lo farà. VT-100 è un sostituto povero per 5250.

Risposto il 03/12/2019 a 05:56
fonte dall'utente

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more