请教高手ftp编程的问题

rainbow 2000-06-17 03:36:00

请看以下程序:
第1和第2个消息框没有显示说明连接成功,为什么第三个消息框没有显示(函数调用失败)?使用其他的ftp函数也遇到同样的问题。
程序中的ip,user和password在ftp命令行下是可以登录的。


HINTERNET hIntSession,hFtpSession;
TCHAR szBuffer[MAX_PATH]="null";
TCHAR *szIp="162.33.30.5",*szUser="radar",*szPasswd="radar";
int iPathLenght;

hIntSession=InternetOpen("putfile",INTERNET_OPEN_TYPE_PRECONFIG,NULL,NULL,INTERNET_FLAG_ASYNC);


if(hIntSession==NULL)
{
MessageBox(0,"Internet 连接出错","信息提示",MB_OK);
InternetCloseHandle(hIntSession);
return FALSE;
}



hFtpSession=InternetConnect( hIntSession,szIp,INTERNET_DEFAULT_FTP_PORT,szUser,szPasswd,INTERNET_SERVICE_FTP,0,0);

if(hFtpSession=NULL)
{

InternetCloseHandle(hFtpSession);
InternetCloseHandle(hIntSession);
MessageBox(0,"Ftp 连接出错","信息提示",MB_OK);
return FALSE;
}



if(FtpGetCurrentDirectory(hFtpSession,szBuffer,&iPathLenght))
MessageBox(0,szBuffer,"信息提示",MB_OK);

InternetCloseHandle(hFtpSession);
InternetCloseHandle(hIntSession);
return 0;


...全文
169 6 打赏 收藏 举报
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
rainbow 2000-07-07
!
  • 打赏
  • 举报
回复
fjp 2000-06-26
1。将
hIntSession=InternetOpen("putfile",INTERNET_OPEN_TYPE_PRECONFIG,NULL,NULL,INTERNET_FLAG_ASYNC);
中的INTERNET_FLAG_ASYNC换成0

2。 if(hFtpSession=NULL)
应为if(hFtpSession == NULL)
  • 打赏
  • 举报
回复
土豆 2000-06-21
hIntSession=InternetOpen("putfile",INTERNET_OPEN_TYPE_PRECONFIG,NULL,NULL,INTERNET_FLAG_ASYNC);
是否应该设置为同步:INTERNET_FLAG_SYNC ?

另外,我建议你用类库,用类库没问题的。

  • 打赏
  • 举报
回复
土豆 2000-06-21
我调试了一下,你在
hFtpSession=InternetConnect( hIntSession,szIp,INTERNET_DEFAULT_FTP_PORT,szUser,szPasswd,INTERNET_SERVICE_FTP,0,0);

取得的hFtpSession虽然不是NULL,但已经是非法的值了,具体是怎么回事我也没弄清楚,我只是想告诉你,InternetConnect没有成功。
  • 打赏
  • 举报
回复
rainbow 2000-06-17
对不起,有一行应为 int iPathLenght=MAX_PATH;
  • 打赏
  • 举报
回复
rainbow 2000-06-17
对不起,有一行应为 int iPathLenght=Max_Path;
  • 打赏
  • 举报
回复
发帖
VC/MFC

1.6w+

社区成员

VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
帖子事件
创建了帖子
2000-06-17 03:36
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……