2

私は現在、クライアントからの接続で PTY を生成し、小さな nCurses アプリケーションの出力をクライアントに送信する小さな telnet サーバーを実装しようとしています。私はルビーで作業していますが、問題は言語に依存しません。私のユース ケースでは、アプリケーションのユーザーがユーザー アカウントにログインする必要がないため、適切な画面転送を telnetd などのシステム ツールに委譲したくないと考えています。

TCP 接続が与えられた場合、telnet または ssh を介してテキストの nCurses インターフェイスを送信するための要件は何ですか? クライアント側で画面が更新されたときにアプリケーションが適切にレンダリングされるようにするには、どのような種類のバッファリングまたはエンコーディングが必要ですか? これは明らかに典型的な ssh セッション中に処理されますが、どのように行われるのでしょうか?

前もって感謝します。

4

1 に答える 1

3

TERM、LINES、および COLUMNS 環境変数を設定する必要があります ( NVT プロトコルによって正しい値を取得します)。次に、ncurses アプリケーションを生成する準備が整いました (PTY は明らかに stdin/stdout であるため)。文字ストリームをバッファリングしたり、改ざんしたりする必要はありません (NVT 実装以外では)。

于 2014-11-30T15:31:04.930 に答える