私はネットワーク要素に接続して情報を得るためにJavaのtelnetソケットを使用しています。接続が動作し、出力を読み取ることができます。
ここでは、各コマンドの出力のページ番号を削除して、プロセスを最適化したいと考えています。Javaソケットを使用してウィンドウのサイズを変更する
接続は次のコードで構成されていますので、
Socket soc = new Socket(ip,23);
InputStream in = new DataInputStream(soc.getInputStream());
Writer out = new PrintWriter(soc.getOutputStream(), false);
//...
out.write(command+"\n");
out.flush();
//...
String output = readUntilPrompt(in);
、私は長い間、出力して、いくつかのコマンドを実行し、結果はデフォルトの端末のサイズ(80×25)を合わせて表示され、私のようなものを読むことができます:
output line
output line
[...]
output line
output line
Press any key to continue (Q to quit)
のLinuxのデフォルトの端末を使用して、同じことを、改ページが発生しますが、私は、ウィンドウのサイズを変更する場合は、改ページが消え、すべての出力がコンソールに出力されます。
私が望むのは、プログラム上、Javaソケットで同じことをします。私のJavaクライアントが100x1000のようなサイズを持っていることを機器に「知らせる」。 すでにApache's Commons Net wayを試しましたが、動作しません。答えを検索
、一部の人々は、あなたがSIGWINCH信号を送信したり、このような何かを書くことができると言うが、私はそれが動作を正確に知っていない:
out.write("\\e[8;200;200t");
は作るために、サーバーに送信するためのいくつかのコードがありますできます?
あなたは私がそれを見たことがない「押します(終了するにはQ)を続行するには任意のキーを」あなたの端末が生成していることを言っています。 – slim
@slimまさに!何らかの理由で、 "生の" Javaソケットによって作られたtelnetクライアントは、他のGUIクライアントのようにページネーションを設定します。 – elias