« 車の燃料計 | メイン | 初めてのDLL »

2005年11月03日

仕事の周辺 » .NET

C# でTelnet その後

何とかサーバーにログインし、コマンドを叩き、結果をラベルに表示し、接続をクローズするところまでこぎつけました。
一番最初のつまづきは、loginメソッドを探したこと。これがいくら探しても見つからない(多分ないはず)。
しょうがないからSendを使ったのですが、戻り値がなぜかこちらから送ったのと同じものになる。そりゃ普通telnetウインドには入力したまま表示されますがね、プログラムでは返して欲しくないの(^^;)。
よくわからないけれど、OptionNegotiationEnabledをtrueにしたら、こちらが望むと通りの結果が返ってくるようになった気がする。
次は、ログインIDを送信するタイミングですが、Sendだけだと、このタイミングがどうしてもうまく取れない。ログを見ると、何度も何度もログインIDを送ってしまっていて、やりとりがちぐはぐになってしまってる。
こちらは Data_recived というイベントがあったので、これをif (e.ReceivedData.ToString() == "login: ") でキャッチして、あとはSendだけでほぼやり取り完了。Sendするstringの最後に\nをつけておく必要があるところでいったんはまりましたが。
Sendの戻り値がstring型だったので、どうなんだろうと思っていた複数行の表示も、ラベルに貼り付けると自動で改行されてました。
Perlとは随分感覚が違いますが、これはこれで使えそう。

投稿者 idic : 2005年11月03日 20:35

コメント

コメントしてください

サイン・インを確認しました、 さん。コメントしてください。 (サイン・アウト)

(いままで、ここでコメントしたとがないときは、コメントを表示する前にこのウェブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)


情報を登録する?