Jak wysłać wiele wierszy informacji telnet / host AS400 i odczytu ekranu powoduje formie strukturalnej w Javie

głosy
0

Staram się rozwijać program Java, które można wysłać wiele wierszy danych do hosta telnet / AS400, a następnie otrzymać wynikowy ekran w formie strukturalnej. Przykładem tego mogą być dane logowania (użytkownik, pass, biblioteki, itp).

Z telnet / AS400, gdy łączy użytkownika do hosta przy użyciu wiersza polecenia, wyświetla wiele wierszy których wartości wejściowe mogą być wprowadzone na, a następnie przesyłane do hosta. Lubię to:

dowództwo

[Telnet

Widzimy na przykładzie, że można wysłać wiele wierszy danych do hosta telnet za pomocą wiersza polecenia systemu Windows. Chcę utworzyć program Java, który ma taką samą funkcjonalność (wysyłanie poleceń na wielu liniach i czytanie na ekranie w formie strukturalnej).

Próbowałem przy użyciu klienta Telnet Apache do odczytu ekranu w użyciu Apache Commons IOUtils. Lubię to:

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

}

których wyniki w czytaniu ekran z InputStream, a następnie wyświetla je. Lubię to

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

Od tego momentu nie mogę wybrać, który wiersz wyślę informację powrotem. Bardziej konkretnie, jeśli mogę wpisać dowolny tekst i wysłać go z powrotem za pośrednictwem konsoli, to myślę, że jest na polu nazwy użytkownika. Nie mogę podać żadnych innych linii lub pola.

Czy to możliwe, aby wybrać to, co pole linia wejściowa wysyłania informacji na temat korzystania z Java?

Przyczyną tego, że musi być w języku Java jest tak, że można umieścić go do aplikacji Android.

Utwórz 02/12/2019 o 23:57
źródło użytkownik
W innych językach...                            


1 odpowiedzi

głosy
0

Prawdopodobnie będzie chciał odwołać projekt TN5250J

Protokół potrzebne jest ponad 5250 telnet. 5250 to protokół używany przez wyświetlacz IBM i. Prosto telnet brakuje pewnych kodów sterujących, klucze i usług świadczonych przez 5250. Można dokonać telnet pracy dla prostych ekranów, ale większość z nich nie będzie. VT-100 jest słabym substytutem 5250.

Odpowiedział 03/12/2019 o 05:56
źródło użytkownik

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