我有一个要求,我需要打开一个SftpChannel
文件传输和一个exec channel
来执行远程系统上的命令。那么,我可以使用一个jsch
对象和单个session
对象打开这些通道。如果我可以请给我一个小的代码片段或请建议我有没有其他方式来做到这一点?我可以使用单个Jsch对象打开多个频道吗?
2
A
回答
1
您可以在单个会话上有多个开放渠道。
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不会自动关闭您的会话。你必须明确地关闭它们。请参阅this answer获取有关关闭您的频道和会话的说明。
相关问题
- 1. JSch中每个会话可以打开多少个频道是否有限制?
- 2. 可以打开频道吗?
- 3. 我可以打开一个应用程序对象并反复使用它吗?
- 4. 我可以在JQM中打开多个对话框吗?
- 5. 客户可以在多个站点中使用打开的图形对象吗?
- 6. 我们可以使用单个计时器动画多个对象吗?
- 7. 一次只展开“一个”单元格吗?目前我可以打开多个
- 8. 使用Web Audio API可以输出多于8个频道吗?
- 9. 使用HTTP/2时可以有多个开放的SSE频道吗?
- 10. Stackexchange.Redis,我可以一次发布到多个频道吗?
- 11. 我可以通过一个帐户访问多个Youtube频道报道吗?
- 12. JSCH通道未打开(新)
- 13. jsch通道没有打开
- 14. 我可以使用多个控件创建单个VB6 OCX吗?
- 15. 我可以在一个表单中使用多个DataGridViewRows吗?
- 16. 我可以从单个IP使用多个admob帐户吗?
- 17. 我可以注册一个对象吗?
- 18. 我可以使用多个foreach吗?
- 19. 我可以使用多个“with”吗?
- 20. 我可以不使用多个NavDropdown吗?
- 21. 我可以订阅使用一个频道并在单独频道WCF上发布吗?
- 22. 我可以在xcode中打开多个调试控制台吗?
- 23. 我可以打开多个连接到HTTP服务器吗?
- 24. priority-web-sdk:我可以一次打开2个表单吗?
- 25. 我可以在单个键盘上打开/关闭Capslock灯吗?
- 26. 我可以分开JsonConvert对象吗?
- 27. 如何从Roku的一个频道打开另一个频道?
- 28. 我可以使用类对象吗?
- 29. 我可以在单个开关中使用一系列值吗?
- 30. 很多用户可以用TempTable打开一个SP吗?
包含您的代码的可执行版本,您更可能会收到完整的工作片段。请参阅http://stackoverflow.com/help/mcve – Damienknight