4

telnet サーバーに接続してサーバーと通信する C# アプリケーションを作成したいと考えています。telnet サーバーがどのようにクライアントに情報を送信するのか疑問に思っていました。私はTelnet RFCを調べ (すくい取り) 、サーバーから着信するパケットを調べましたが、まだ少し混乱しています。サーバーが telnet クライアントでカーソルを移動する方法と、文字の色を変更する方法の例を誰か教えてもらえますか? (例を挙げていただければ幸いです)

アップデートⅠ

追加の VT100 リソースは次のとおりです。

  1. ANSI/VT100 端末制御
  2. vt100_codes_news.txt

アップデートⅡ

多くの調査と時間をかけて、ここで私が見つけたもの:C#を使用したTelnetプログラミング

4

3 に答える 3

7

カーソルの移動と色の変更は、telnet プロトコルでは行われません。

あなたの telnet クライアントは端末、おそらく VT-100 の変種をエミュレートしています。カーソルを移動して色を変更するために、サーバーは、エミュレートされている端末のタイプ (telnet プロトコル ネゴシエーションで送信されるもの) に固有のエスケープ シーケンスを送信します。

これらのエスケープ シーケンスが必要ない場合は、telnet プロトコル ネゴシエーションでサーバーに自分が「ダム」端末であることを伝えるだけで十分です。それらが必要な場合 (または、サーバーが全員が VT-100 を持っていると想定し、常にそれらを送信する場合)、VT-100 端末エミュレーターを実装する必要があります (または、少なくとも不要なものを破棄するのに十分な数です)。

于 2008-10-24T16:53:07.420 に答える
2

Google で簡単に検索すると、C# で記述された多くのオープン ソース Telnet (およびその他のネットワーク プロトコル) クライアントが見つかります。ソース コードを 1 つにダウンロードして、接続ネゴシエーションとコマンドがどのように実装されているかを確認できます。

于 2008-10-24T16:44:10.417 に答える
2

カーソルやテキストの色などの処理に関しては、端末エミュレーションについて話しています。そのためにはライブラリが必要です。 これは、開始するのに適した場所のようです。

于 2008-10-24T16:44:48.310 に答える