java - 可以使用单个Jsch对象打开多个通道?

  显示原文与译文双语对照的内容
0 0

有一个 SftpChannel 文件,可以使用一个对象或者一个 exec channel 来执行这些命令,我可以打开这些通道,还是我可以用它来打开这些通道?

时间: 原作者:

0 0

你不能在单个会话中有多个打开的通道。


 Channel chExec = session.openChannel("exec");
 Channel chSFTP = session.openChannel("sftp");

 chExec.setInputStream(System.in);
 chExec.setOutputStream(System.out);
 chSFTP.setInputStream(System.in);
 chSFTP.setOutputStream(System.out);

 chExec.connect();
 chSFTP.connect();

在上面的代码片段中,你将把所有的系统输入发送到这两个频道,因这里你必须创建一个或者两个通道。

同时,你可以打开一个通道,使用它,关闭它,然后打开一个新的通道,所有在同一会话中。

Jsch不会自动关闭你的会话。 你必须显式关闭它们。 有关关闭频道和会话的说明,请参见

原作者:
...