JSCH の使用とコマンドのシェルへの送信に問題があります。
コンソール GUI ウィンドウのセットアップがあり、system.out が TextArea にリダイレクトされました。これは正常に動作しますが、コマンドを入力できません。
セッションの接続コードは次のとおりです
this.channel=session.openChannel("shell");
PipedInputStream pip = new PipedInputStream(40);
this.channel.setInputStream(pip);
PipedOutputStream pop = new PipedOutputStream(pip);
PrintStream print = new PrintStream(pop);
this.channel.setOutputStream(System.out);
print.println("ls");
this.channel.connect(3*1000);
これは正常に機能し、ls コマンドを実行して出力を表示しますが、さらに多くのコマンドを実行したい場合、これらは機能しません。
以下にコード化されたサーバーにこれらのコマンドを送信するための TextBox セットアップと「送信」ボタンがあります。
String send = jServerInput.getText();
try {
PipedInputStream pip = new PipedInputStream(40);
//this.channel.setInputStream(pip);
PipedOutputStream pop = new PipedOutputStream(pip);
PrintStream print = new PrintStream(pop);
//this.channel.setOutputStream(System.out);
//System.out.println(send);
print.println(send);
} catch (IOException iOException) {
}
ただし、「送信」ボタンを押しても何も起こりません。私は明らかに単純なものが欠けています