Hoe meerdere lijnen van de informatie te sturen naar telnet / AS400 gastheer en lees wat resulteert scherm in gestructureerde indeling in Java

stemmen
0

Ik ben op zoek naar een Java-programma dat meerdere regels informatie kan versturen naar een telnet / AS400 gastheer, dan ontvangt de resulterende scherm in een gestructureerd formaat te ontwikkelen. Een voorbeeld hiervan kan zijn inloggegevens (user, pas, bibliotheek, etc).

Met telnet / AS400, wanneer de gebruiker maakt verbinding met de host via opdrachtregel toont meerdere regels die het ingangssignaal waarden kunnen worden ingevoerd en vervolgens naar de host. Soortgelijk:

commando

[telnet

We zien in het voorbeeld dat het mogelijk is om meerdere regels met informatie te sturen naar de telnet gastheer met behulp van de Windows-opdrachtregel. Ik wil een Java-programma dat dezelfde functionaliteit (verzenden van commando's op meerdere lijnen en het lezen in het scherm in een gestructureerd formaat) heeft te maken.

Ik heb geprobeerd met behulp van de Apache Telnet-client om het scherm in het gebruik van Apache Commons IOUtils lezen. Soortgelijk:

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);
}

}

waarvan de resultaten in het lezen van het scherm van de InputStream en vervolgens weer te geven. Soortgelijk

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

Vanaf dit punt kan ik niet kiezen welke lijn stuur ik informatie weer aan. Meer concreet, als ik in een tekst te typen en stuur het terug via de console, zal het denk dat het voor het veld gebruikersnaam. Ik kan geen andere lijn of veld niet op te geven.

Is het mogelijk om te kiezen wat het invoerveld lijn die u het verzenden van informatie over het gebruik van Java?

De reden waarom het moet worden in Java is, zodat ik het kan insluiten in een Android-applicatie.

De vraag is gesteld op 02/12/2019 om 23:57
bron van user
In andere talen...                            


1 antwoorden

stemmen
0

U bent waarschijnlijk gaat willen het verwijzen TN5250J project

Het protocol je nodig hebt is 5250 meer dan telnet. 5250 is het beeldscherm protocol dat door IBM i. Straight telnet ontbreekt bepaalde controle codes, sleutels en door 5250. services U kunt telnet werk voor een eenvoudige schermen maken, maar de meeste niet. VT-100 is een slap aftreksel van 5250.

antwoordde op 03/12/2019 om 05:56
bron van user

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