Próbálom hogy dolgozzon ki egy Java program, amely küldhet több sornyi információt egy telnet / AS400 host, akkor megkapja a kapott képernyő strukturált formában. Ennek egyik példája lehet a bejelentkezési adatokat (felhasználó, pass, könyvtár, stb.).
A telnet / AS400, amikor a felhasználó csatlakozik a gazda- parancssorból, akkor megjeleníti többszörös vonalak, amelyek a bemeneti értékeket lehet feltüntetni, majd megküldi a fogadó. Mint ez:
[
Látjuk a példa, hogy lehetséges, hogy küldjön több sornyi információt a telnet host a Windows parancssorban. Azt akarom, hogy hozzon létre egy Java programot, amely ugyanazokat a funkciókat (parancsok küldése több vonalon és az olvasás a képernyőn egy strukturált formátumban).
Megpróbáltam az Apache Telnet kliens olvasni a képernyőn az Apache Commons IOUtils. Mint ez:
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);
}
}
amelynek eredményei az olvasás a képernyőn a InputStream majd megjeleníti azt. Mint ez
[2J [1;22H[1m[0m [1m Sign On [0m [2;47H System . . . . . : NLSI5D [3;47H Subsystem . . . . : QINTER [4;47H Display . . . . . : QPADEV000Q [6;16H User . . . . . . .
Ettől a ponttól kezdve nem tudok választani, hogy melyik vonalat küldök információkat vissza. Konkrétabban, ha írja a szöveget, és küldje vissza a konzolon keresztül, akkor úgy gondolja, hogy ez a felhasználónév mezőben. Azt nem adhatja más vonal vagy területen.
Lehetséges, hogy válasszon, milyen területen beviteli sor az Ön által küldött információt a Java?
Az ok, hogy kell lennie Java hogy tudok beágyazni be egy Android alkalmazást.