JSch库中SCP协议实现的说明
我正在考虑一个JSch库用法示例,可以在这里找到:http :
//www.jcraft.com/jsch/examples/ScpFrom.java.html
我无法从此示例理解几种代码模式。他们来了:
有什么理由比可以使用同一库运行的SFTP更喜欢SCP?
为什么我们scp -f
转移开始时有一条线
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