2

なぜ私はこれをしようとしているのですか? 現在、いくつかのサーバーで使用するマルチタブSSHクライアントを作成しようとしています。現在8つあり、まもなく9つになります。ご想像のとおり、Linuxで作業するときに実行する必要のある冗長なタスクがいくつかあります。各サーバーに接続して一度に1つずつ変更を加えるのは、非常に面倒なプロセスです。そのため、複数のサーバーに同時に接続できるSSHクライアントを作成して、コマンドを1回送信して、所有するすべてのサーバーに影響を与えることができるようにしています。

私は今どこまでですか? サーバーに接続してログインし、サーバーからデータを受信できる優れたUIセットアップがあります。入力の場合、APIではinputstreamを指定する必要があります。入力ストリームとしてSystem.inを指定すると、プログラムを実行し、コンソールに入力したものをAPIを介してさまざまなサーバーにブロードキャストできます。 ここに画像の説明を入力してください 問題 エンドユーザーがこのプログラムを使用するために別のコンソールで作業することを望んでいないということです。ちっぽけに見えます。したがって、テキストフィールドから入力を取得して、指定された入力ストリームを介して送信する方法が必要です。つまり、プログラムが閉じない限り閉じない入力ストリームが必要になります。System.inのように。また、一度設定したストリームを簡単に再定義することはできません。昨日10時間くらい答えを探しました。何も見つかりませんでした。誰かが助けることができるなら、してください。ありがとうございました。

出力ストリームとまったく同じように機能する入力ストリームが必要です。何も送信されていないときでも開いたままですが、データを取得するとすぐに、データはそれを使用しているすべてのものに自動的に送信されます。このAPIは非常に奇妙ですが、この最後のinputstream部分だけが、プログラムを完成させるのを妨げています。お時間をいただきありがとうございます。

4

1 に答える 1

1

JSCH sudo su command "tty" error I was using the API incorrectly. Stupid, yes. I don't want anyone else making the same mistake though. I guess I was following a bad example found somewhere else on the internet. Essentially, you don't even need to set the input stream. You just need to use the output stream that already exists. Write directly to the output stream. Pretty sure I was trying to do this at 3am last night. It was right in front of me the whole time.

于 2013-01-24T07:14:49.290 に答える