# 14 `telnetlib` -- Telnet クライアント

`telnetlib` モジュールでは、Telnet プロトコルを実装している `Telnet` クラスを提供します。Telnet プロトコルについての詳細は RFC 854 を参照してください。加えて、このモジュールでは Telnet プロトコルにおける制御文字 (下を参照してください) と、telnet オプション に対するシンボル定数を提供しています。telnet オプションに対する シンボル名は `arpa/telnet.h` の `TELOPT_` がない状態 での定義に従います。伝統的に `arpa/telnet.h` に含められて いない telnet オプションのシンボル名については、このモジュールの ソースコード自体を参照してください。

telnet コマンドのシンボル定数は、IAC、DONT、DO、WONT、WILL、SE (サブネゴシエーション終了)、NOP (何もしない)、DM (データマーク)、 BRK (ブレーク)、IP (プロセス割り込み)、AO (出力中断)、 AYT (応答確認)、EC (文字削除)、EL (行削除)、GA (進め)、SB ( サブネゴシエーション開始) です。

クラス `Telnet`( | [host[, port]])

  `Telnet` は Telnet サーバへの接続を表現します。 標準では、`Telnet` クラスのインスタンスは最初はサーバに 接続していません; 接続を確立するには `open()` を使わなければ なりません。別の方法として、コンストラクタにホスト名とオプションの ポート番号を渡すことができます。この場合はコンストラクタの呼び出し が返る以前にサーバへの接続が確立されます。

  すでに接続の開かれているンスタンスを再度開いてはいけません。

  このクラスは多くの `read_*()` メソッドを持っています。 これらのメソッドのいくつかは、接続の終端を示す文字を読み込んだ場合に `EOFError` を送出するので注意してください。例外を送出する のは、これらの関数が終端に到達しなくても空の文字列を返す可能性 があるからです。詳しくは下記の個々の説明を参照してください。

参考:

RFC 854, Telnet プロトコル仕様 (Telnet Protocol Specification)
  Telnet プロトコルの定義。