Соединение Telnet на консоли Java - PullRequest
       24

Соединение Telnet на консоли Java

1 голос
/ 12 сентября 2011

Я работаю над Eclipse в ОС Linux, и это то, что я хочу сделать (только в консоли Java) -

  1. Подключение к другому удаленному компьютеру через (в настоящее время) клиент telnet
  2. выполнить простую команду в этой удаленной системе (что-то вроде ls)

Это возможно? Я уверен, что Runtime.getRuntime.exec() не будет работать. Так использовал файл jar commons.net. Вот мой фрагмент кода

public static void testMount() throws Exception {
    String osName = "";
    Scanner sc = new Scanner(System.in);
    TelnetClient telnet = new TelnetClient();
    System.out.println("Operating System: ");
    osName = sc.next();
    System.out.println(osName);
    String volumeToMount = "";
    String mountPoint = "";
    String ipAddress = "";
    int port = 23;

    if (osName.equalsIgnoreCase("Linux")) {
        // Linux
        ipAddress = "1.2.3.4"; //
        telnet.connect(ipAddress, port);
        volumeToMount = "/dev/hda1";
        mountPoint = "/data/Temp";
    } 
    mountFileSystem(volumeToMount, mountPoint);
}

Если у вас есть существующий пример или если вы можете изменить мой код, я был бы благодарен вам, если вы поделитесь им здесь!

Ответы [ 2 ]

4 голосов
/ 12 сентября 2011

В Apache Commons Net TelnetClient вы должны использовать InputStream и OutputStream, возвращаемые объектом (см. getInputStream() и getOutputStream() метод), для чтения данных и отправки данных (команд).Хороший пример доступен здесь (см. Раздел Telnet and Commons / NET ).

0 голосов
/ 12 сентября 2011

Почему вы сами внедряете Telnet? Есть несколько библиотек, которые делают это очень хорошо. Посмотрите на пакет Jakarta Net: http://commons.apache.org/net/

...