JSch库中SCP协议实现的说明

我正在考虑一个JSch库用法示例,可以在这里找到:http :

//www.jcraft.com/jsch/examples/ScpFrom.java.html

我无法从此示例理解几种代码模式。他们来了:

有什么理由比可以使用同一库运行的SFTP更喜欢SCP?

为什么我们scp -f 在远程主机上运行而不是简单地运行scp source_file_path destination_file_path?为什么在远程主机上执行更好?

转移开始时有一条线

while(true){

int c=checkAck(in);

if(c!='C'){

break;

}

...

这封神奇的C信件是什么意思?为什么C呢

为什么一直发送该信号?

// send '\0'

buf[0]=0; out.write(buf, 0, 1); out.flush();

如何读取文件大小?

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'); //What is this??

}

回答:

在;确实可以通过在* nix中基于系统中使用一个外壳命令行来执行多条命令。

但是您执行的不是shell命令。这些是WLST命令,对不对?因此,您必须将它们提供给WLST。

像这样:

Channel channel = session.openChannel("exec");

((ChannelExec) channel).setCommand("java -cp /.../weblogic.jar weblogic.WLST");

OutputStream out = channel.getOutputStream();

channel.connect();

out.write(("connect('weblogic'...)\n").getBytes());

out.write(("domainRuntime()\n").getBytes());

...

以上是 JSch库中SCP协议实现的说明 的全部内容, 来源链接: utcz.com/qa/404837.html

回到顶部