- ベストアンサー
アプリケーションプロトコルについて
アプリケーションプロトコルであるメールソフトやブラウザは裏でコマンド(GETやPOSTなど)を用いて通信しているようですが、これを具体的に見る方法としてtelnetがあると思います。●もし、ブラウザやメールソフトを作りたい場合はこのコマンドに対応するAPIがあったりするのでしょうか?●あと、telnetって他のコンピュータを遠隔操作するサービスと定義されていますが、この場合(GETやPOSTの動作の確認)自分のPCの動作を確認しているような気がします。であるとするとこのtelnetではあとどのようなことができるのでしょうか?(winxppro,vsnet)
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
う~ん。君はちょっと誤解をしているようだ。 まず、アプリケーションプロトコルというのはPOP3やHTTPの事を指す言葉で、メールソフトやブラウザとは本来関係の無いものだ。これは良いな? 何を言っているのかというと、メールソフトがHTTPでYahooのページをもらってきても良いし、私が作ったメモ帳がPOP3でメールをもらってきても良いという事だ。 で、アプリケーションプロトコルは、現実にはTCP/IPないしUDP/IP上で実装される。つまり、プロセス間通信で文字列をやり取りする事に他ならない。ここがちょっと難しい。分かるかな? さらに誤解を招く原因として、TELNETという言葉がある。TELNETはプロトコルで(厳密にはこれまた違う、ここではこう思ってくれ)、telnetはコマンドだ。というのは、TELNETプロトコルはプロセス間通信の上でさらに文字列をやり取りする土台(キーボードで打った文字を相手に渡したり、相手からの文字を画面に出したり)を提供するもので、解説本によってはセション層のプロトコルと定義されている。telnetはTELNETプロトコルを使って遠隔操作をするソフトだ。という事で、23番につなげると向こうのtelnetデーモンがシェルを起動して対話してくれ、80番につなげるとhttpデーモンがHTTPリクエストを待っている訳だな。自分のPCの動作を確認している訳ではない。GETメソッドを送って、帰ってくるページはサーバからのものだろう? 残念な事に私はVS.NETでActive Xで言うところのインターネットトランスファコントロールに相当するようなものがあるかどうかは知らない。これは誰かフォロー頼む。 低レベルソケットを使う場合はSystem.Net.Socketsアセンブリを使う事になるのだが、その場合は状態制御、取得したコンテンツ等は全て自前で制御する事になる。APIも自分でライブラリ(アセンブリ)を作る事になるな。ま、勉強だと思ってちょっとやってみるのも面白いかも知れない。
その他の回答 (1)
- mach999
- ベストアンサー率75% (36/48)
参考までに。 Webリクエストの送信、データの受信 ・HTTPWebRequestクラス http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpref/html/frlrfsystemnethttpwebrequestclasstopic.asp ・HTTPWebResponseクラス http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpref/html/frlrfsystemnethttpwebresponseclasstopic.asp メールの送信 ・SMTPMailクラス http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpref/html/frlrfsystemwebmailsmtpmailclasstopic.asp メールの受信 なぜか見当たらず・・・どっかにあるんだろうけど。
お礼
大変参考になりました。ありがとうございます。
お礼
本当によくご存知ですね。勉強になりました。