我有一個要求,我需要打開一個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