Библиотека SSH для [закрытого] Java

Каждый slide имеет класс .item, вы можете получить общее количество слайдов, подобных этому

var totalItems = $('.item').length;

Active slide имеет класс, названный active, вы можете получить индекс active slide следующим образом

var currentIndex = $('div.active').index() + 1;

Вы можете обновить эти значения, привязав событие начальной загрузки slid, как это

$('#myCarousel').bind('slid', function() {
    currentIndex = $('div.active').index() + 1;
   $('.num').html(''+currentIndex+'/'+totalItems+'');
});

ПРИМЕР

185
задан Ripon Al Wasim 1 January 2013 в 19:41
поделиться

3 ответа

Защищенный канал Java (JSCH) очень популярен. библиотека, используемая maven, ant и eclipse. Это открытый исходный код с лицензией в стиле BSD.

118
ответ дан 23 November 2019 в 05:54
поделиться

Взгляните на недавно выпущенный SSHD , который основан на проекте Apache MINA.

18
ответ дан 23 November 2019 в 05:54
поделиться

Обновление: проект GSOC и код там не активны, но это: https://github.com/hierynomus/sshj

hierynomus взял на себя функции сопровождающего с начала 2015 года. Вот старая, более не поддерживаемая ссылка на Github:

https://github.com/shikhar / sshj


Был проект GSOC:

http://code.google.com/p/commons-net-ssh/

Качество кода кажется лучше, чем JSch, который, хотя и является полным и рабочая реализация, отсутствует документация. На странице проекта представлена ​​предстоящая бета-версия, последняя фиксация в репозитории была сделана в середине августа.

Сравните API:

http://code.google.com/p/commons-net-ssh/

    SSHClient ssh = new SSHClient();
    //ssh.useCompression(); 
    ssh.loadKnownHosts();
    ssh.connect("localhost");
    try {
        ssh.authPublickey(System.getProperty("user.name"));
        new SCPDownloadClient(ssh).copy("ten", "/tmp");
    } finally {
        ssh.disconnect();
    }

http : //www.jcraft.com/jsch/

Session session = null;
Channel channel = null;

try {

JSch jsch = new JSch();
session = jsch.getSession(username, host, 22);
java.util.Properties config = new java.util.Properties();
config.put("StrictHostKeyChecking", "no");
session.setConfig(config);
session.setPassword(password);
session.connect();

// exec 'scp -f rfile' remotely
String command = "scp -f " + remoteFilename;
channel = session.openChannel("exec");
((ChannelExec) channel).setCommand(command);

// get I/O streams for remote scp
OutputStream out = channel.getOutputStream();
InputStream in = channel.getInputStream();

channel.connect();

byte[] buf = new byte[1024];

// send '\0'
buf[0] = 0;
out.write(buf, 0, 1);
out.flush();

while (true) {
    int c = checkAck(in);
    if (c != 'C') {
        break;
    }

    // read '0644 '
    in.read(buf, 0, 5);

    long filesize = 0L;
    while (true) {
        if (in.read(buf, 0, 1) < 0) {
            // error
            break;
        }
        if (buf[0] == ' ') {
            break;
        }
        filesize = filesize * 10L + (long) (buf[0] - '0');
    }

    String file = null;
    for (int i = 0;; i++) {
        in.read(buf, i, 1);
        if (buf[i] == (byte) 0x0a) {
            file = new String(buf, 0, i);
            break;
        }
    }

    // send '\0'
    buf[0] = 0;
    out.write(buf, 0, 1);
    out.flush();

    // read a content of lfile
    FileOutputStream fos = null;

    fos = new FileOutputStream(localFilename);
    int foo;
    while (true) {
        if (buf.length < filesize) {
            foo = buf.length;
        } else {
            foo = (int) filesize;
        }
        foo = in.read(buf, 0, foo);
        if (foo < 0) {
            // error
            break;
        }
        fos.write(buf, 0, foo);
        filesize -= foo;
        if (filesize == 0L) {
            break;
        }
    }
    fos.close();
    fos = null;

    if (checkAck(in) != 0) {
        System.exit(0);
    }

    // send '\0'
    buf[0] = 0;
    out.write(buf, 0, 1);
    out.flush();

    channel.disconnect();
    session.disconnect();
}

} catch (JSchException jsche) {
    System.err.println(jsche.getLocalizedMessage());
} catch (IOException ioe) {
    System.err.println(ioe.getLocalizedMessage());
} finally {
    channel.disconnect();
    session.disconnect();
}

}
61
ответ дан 23 November 2019 в 05:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: