"在看<Windows程序设计>,最后一章的最后一个程序是用ftp获取网站的信息,程序中的网址ftp.cpetzold.com已做废,我用ftp.charlespetzold.com能连上,但连接目录charlespetzold.com/ProgWin95/时出错,我用GetLastError()说是“重叠I/O操作在进行中”,这是怎么回事?我用IE可以连接上。"
"应该是上一次请求任务还没返回,禁止再发送请求。FTP就是这样,发了请求等收到回复才能再发请求.不然会乱套的.而你用的例子中请求是异步的,所以在服务器没返回数据之前你可以再发请求,但会失败."刚才没看程序,现在看了程序,确实是同步的,FtpSetCurrentDirectory阻塞了一会才继续啊?
"应该是上一次请求任务还没返回,禁止再发送请求。FTP就是这样,发了请求等收到回复才能再发请求.不然会乱套的.而你用的例子中请求是异步的,所以在服务器没返回数据之前你可以再发请求,但会失败."刚才没看程序,现在看了程序,确实是同步的,FtpSetCurrentDirectory阻塞了一会才继续啊?
hIntSession = InternetOpen (szAppName, INTERNET_OPEN_TYPE_PRECONFIG,
NULL, NULL, INTERNET_FLAG_ASYNC) ;
hFtpSession = InternetConnect (hIntSession, FTPSERVER,
INTERNET_DEFAULT_FTP_PORT,
NULL,NULL, INTERNET_SERVICE_FTP, 0, 0) ;
bSuccess = FtpSetCurrentDirectory (hFtpSession, DIRECTORY) ;
就这步,bSuccess为0了