
ftpを使って他のPCと通信するプログラムをVisual C++を使って書こうとしています。(相手側PCはftpを拡張していろいろな拡張コマンドを持っています。よって、ftpのコマンドはファイル転送に限られません。)この場合、基本的にどのような形でプログラミングすればいいのでしょうか?
例えば、下の1や2の方法になるのかなと考えてます。
1.WinSockを使ってTCPで相手側PCとセッションを張り、それ以降はftpのコマンドをプログラムから直接送って、リターンも直接解釈するようなプログラムとする。
2.MFCの中にはftpを扱うためのクラスが用意されているのでそれを使う。
ネットワークプログラミングは初心者です。どのような方法が良いか教えてください。また、良いサンプル・コードがありましたらご紹介ください。よろしくお願いします。
No.2ベストアンサー
- 回答日時:
1、2どちらを使用するかは、その接続しようとしている
FTPサーバのどの機能(コマンド)を使用するかでかわる
と思います。
FTPサーバとして提供されているのであれば、FTPコマンド
のやりとりの方法は一般的なFTPコマンドと同じはずなので
一般的なファイル転送しか必要ないというのであれば、
MFCのftpライブラリを使用するほうがベストかと思います。
また、そのFTPサーバの特有な拡張機能と使用するのであれ
ば、WinsockでTCP/IPを使用してやり取りするアプリケーション
を作成するのがよいかと思います。
但し、独自でFTPコマンドのやり取りをするアプリケーション
を作成する場合には、FTPサーバとのメッセージのやり取り
の部分を作成するのがちょっと面倒になってくるかもしれません。
FTPサーバから送られてくるメッセージを正常、異常としっかり
把握しておかないとFTPサーバに対応できないかもしれません。
プログラミング初心者であれば、2のほうでやってみたほうが
よいのではないかと思いますが。
この回答への補足
回答、ありがとうございます。「Visual C++で用意されているクラスを使う」というのは具体的には「CFtpConnectionクラスを使う」ということでしょうか?
このクラスは使ったことが無いのですが、これを使うのが良いのであれば、このクラスの使用方法について検討したいと思います。でも、このクラスは「独自に追加されたftpコマンドには対応できない?」のでしょうか?「できない」のではなくて、「ちょっと面倒」であればさらに調べたいと思います。
No.4
- 回答日時:
CFtpConnectionを使用すれば、拡張のFTPサーバでも対応
できそうですね。
CFtpConnection::Commandを使用して、FTPサーバに対して
そのFTPサーバが提供している拡張機能用のコマンドを送信
すれば、その応答を受け取れると思いますが。
拡張機能のコマンドシーケンスが明確であれば、大丈夫
だと思いますよ。
No.1
- 回答日時:
基本的には1じゃないでしょうかねぇ?
ftpのようなものであって、ftpでは無いんですから。
あとは、そいつが提供してるライブラリ等は無いんですか?
あればそれを使うのが簡単そうですが。
この回答への補足
回答ありがとうございます。
「ftpのようなものであって、ftpでは無いんですから。 」というのは、拡張されたコマンドに対応するにはCFtpConnectionクラスでは対応できないという意味でしょうか?
また、ライブラリは有りませんので、必要なものはMFCから調達するか、自分で書くかしかありません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語の関数のextern宣言
-
コンソールアプリを作成するの...
-
大量のデータを読み込んで表示...
-
C言語について。
-
DLLファイルの逆コンパイラにつ...
-
プログラマー達は何故、プログ...
-
C言語 関数、変数の宣言について
-
UART通信の取説で,left floati...
-
逆コンパイルと逆アセンブルの...
-
私は
-
C#でログファイルにファイルパ...
-
gccを行ってもexeファイルが生...
-
ストリームについて。
-
int16_t の _t は何?
-
C言語 1から20までの逆数の和を...
-
visual studio 2022でのC#プロ...
-
PIC12F1822でLED調光器を作りたい
-
最初に聞かれたこと
-
C言語について(初心者)
-
プログラミングc++を全く分か...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Teratermマクロの戻り値の取得失敗
-
Windowsのバッチファイルでcall...
-
ネットワークフォルダの中身を...
-
バッチ(Windows2000)での解析エ...
-
ユーザーフォーム内のテキスト...
-
Visual C++からftpを使う
-
system関数のエラー検出
-
コマンドプロンプトで印刷実行
-
テキストボックスのフォーカス...
-
VBAチェックボックスで有効無効...
-
コマンドプロンプトでサービス...
-
VISCAプロトコル(RS232C通信)...
-
Office 2011 VBA フォルダ作成
-
OUTLOOKで受信メールを開くとテ...
-
VBで定期的にタイムサーバに時...
-
Excel VBAについて
-
リストボックス2に表示されたフ...
-
バッチファイル pause時の文字...
-
FlashROMにデータを書き込むに...
-
gmailでのimap設定
おすすめ情報