用FTP实现升级,在虚拟机上和本机间调试,可以成功
但在真实的局域网中调试,就没反应,跟踪发现执行到FtpFindFirstFile时,不动了
120秒后这个函数返回0,查看出错码是:12002(即超时)//...
WIN32_FIND_DATA fd
hDir = FtpFindFirstFile (hFtp, TEXT ("*.*"), &fd, 0, 0);
char msg[32];
sprintf(msg, "%d", GetLastError());
MessageBox(NULL, msg, "FtpFindFirstFile时出错", MB_OK);
//...
FTP可以正常打开呀。
为什么老超时,服务器端FTP设置没有啥呀,就是个超时设置:120秒。
为什么不让发现文件?权限上,我专门加上了“INTERNET来宾用户”
但在真实的局域网中调试,就没反应,跟踪发现执行到FtpFindFirstFile时,不动了
120秒后这个函数返回0,查看出错码是:12002(即超时)//...
WIN32_FIND_DATA fd
hDir = FtpFindFirstFile (hFtp, TEXT ("*.*"), &fd, 0, 0);
char msg[32];
sprintf(msg, "%d", GetLastError());
MessageBox(NULL, msg, "FtpFindFirstFile时出错", MB_OK);
//...
FTP可以正常打开呀。
为什么老超时,服务器端FTP设置没有啥呀,就是个超时设置:120秒。
为什么不让发现文件?权限上,我专门加上了“INTERNET来宾用户”
解决方案 »
- 如何去掉对话框默认图标
- 利用SQLConfigDataSource动态创建ODBC数据源,怎么设置数据库端口
- 请问用C调用FORTRAN怎会出现这种错误
- 你们遇到过这样的问题吗?在别人电脑上编译成功,反而自己电脑上编译却失败??
- 奇闻!!recvfrom接收外网的数据非堵塞,而内网的就堵塞怪了
- OpenGL中的绘制问题
- 关于服务里面禁止任务栏失效的问题?在线等!
- VB调用VC写的dll中的多线程API(包含一个函数指针做为参数)出错,问:这种类型的调用VB支持吗?应该注意什么?
- 关于让背景变透明来抽出3D人物
- 求教如何利用VS2010创建自己定义的文件后缀
- vc如何判断驱动程序是否安装完毕
- MFC的一个问题
http://topic.csdn.net/u/20090102/12/b4f3fea1-0b5c-41a5-8c34-8455f401f365.html
INTERNET_FLAG_RELOAD
INTERNET_FLAG_RAW_DATA
INTERNET_FLAG_EXISTING_CONNECT
都试了,还是不行...
INTERNET_FLAG_PASSIVE
也试了,不行...
不过那个帖子,说错添加的位置了。
我试得结果是,加到InternetConnect里:HINTERNET hInet = InternetOpen(NULL, INTERNET_OPEN_TYPE_DIRECT, NULL, 0, INTERNET_FLAG_DONT_CACHE);
HINTERNET hFtp = InternetConnect(hInet, "10.125.201.88", 21, 0, 0, INTERNET_SERVICE_FTP, INTERNET_FLAG_PASSIVE, 0);
WIN32_FIND_DATA fd
HINTERNET hDir = FtpFindFirstFile(hFtp, TEXT("*.*"), &fd, 0, 0);别的代码我没变,这样就好了。
不知道为什么要在连接时,设成INTERNET_FLAG_PASSIVE(即被动模式)才行。