GetFtpConnection(~)がタイムアウトしてしまいます。
GetFtpConnection(~)がタイムアウトしてしまいます。
C++のプログラム操作から、FTPを利用してサーバ上のファイルをダウンロードする処理を構築中です。
とりあえずの練習用にと「AnHTTPD」を導入しました。
VisualStudioのWin32コンソールアプリケーションから、GetFtpConnectionで自家サーバに接続しようとしたところ、関数の処理内で先に進まなくなってしまい、そのうちに「処理がタイムアウトになりました」というメッセージボックスがあらわれます。元々20秒だったタイムアウトの設定を60秒にしてみましたが結果は変わらず、接続に時間がかかっているだけだというわけでもないようです。
ひょっとすると、ネット上に存在するFTPサーバに対する接続を、ローカルで行おうとしていることから起きている問題なのかもとは思うものの、それが正しいのか、正しいとしてどうすれば良いのかまったく見当もつかないでいます。
以下、FTPダウンロード検証用に試作中の・・・というのもお恥ずかしいプログラムです。
まったくのゼロからの開発中ですので、問題点の指摘や改善へのご指南を、どうかひとつお願いいたします。
////////////////////////////////////////////
#include <afxinet.h>
int main()
{
CFtpConnection *pConn = NULL;
char *lpszServerName = "210.250.71.132";
//CInternetSessionのインスタンス作成
CInternetSession session( "My FTP Session" );
//CFtpConnectionオブジェクトの作成
try
{
pConn = session.GetFtpConnection( lpszServerName,0,0,0, TRUE );
}
catch( CInternetException *ep )
{//エラー
ep->ReportError();
ep->Delete();
}
//取得
char *pstrRemoteFile = "C\\homepage\\test";
char *pstrLocalFile = "C\\TEST_DL.txt";
if( !pConn->GetFile( pstrRemoteFile, pstrLocalFile, FALSE,
FILE_ATTRIBUTE_NORMAL, FTP_TRANSFER_TYPE_BINARY, 1 ) )
{
MessageBox( NULL, "ファイルの取得に失敗", "FPS_GetFile", MB_OK|MB_ICONHAND );
}
pConn->Close();
session.Close();
return 0;
}
//////////////////////////////////////////