2011-09-14 16 views
3

私はwinsock2を学習しており、自分でチャットプログラムを作成しました。 今、私は、FTPサーバーに接続してファイルをアップロードできるプログラムを作ることが可能かどうか疑問に思っています。 私はインターネット上で多くの "チュートリアル"を見つけましたが、それらはすべて、winsock2ではなく独自のライブラリを使用しているようです。Winsock2とC++を使用してFTPサーバーにアップロード

どのようにしてwinsock2でFTPに接続できますか?

答えて

0

FTPプロトコルを読んでください。 FTPサーバーに接続するときは、プロトコルによって記述されたときにどのような信号を送信するかについてのルールがあるという点だけが異なります。

For information about the signals and structure of messages

sock FTPサーバのFTPポート(21)に接続されたソケットであると仮定すると、FTPサーバへのログインの例。

char loginMsg[] = "USER MyName\r\nPASS MyPass\r\n"; 
char responce[4] = {'\0'}; 
send(sock, loginMsg, strlen(loginMsg), 0); 
recv(sock, responce, 3, 0); 
if (strcmp(responce, "230") != 0) 
    // Could not log in to the ftp server 
+1

これは実装が難しい方法です。初心者のために、 'USER'と' PASS'は別々のコマンドで、それぞれ独自の応答をします。最初に 'USER'コマンドを送り、その応答を読んでから、' PASS'コマンドを送る必要があります。レスポンスを読むことに関しては、3文字を読むだけでははるかに複雑です。彼らは、テキストメッセージ、改行、複数行になることがあります。 –

+0

これは完璧な例ではなく、単にFTPでプロトコルを送受信するための事前定義されたメッセージがあることを実証するためのものです。 – DrYap

関連する問題