我的FTP函数过程如下,但是出现调用InternetConnect函数失败时
(错误为:操作超时),此函数一个小时才返回。FTP线程函数描述如下:DWORD FtpThread(LPVOID lpParam)
{
// Open an internet session HINTERNET hIntSession = InternetOpen(_T("MyFtp"), INTERNET_OPEN_TYPE_PRECONFIG,NULL, NULL, 0);
if(hIntSession == NULL)
{
// 写日志
return 0;
} // set connnection timeout DWORD dwTimeout = 10 * 1000;
InternetSetOption(hIntSession, INTERNET_OPTION_CONNECT_TIMEOUT, &dwTimeout, sizeof(DWORD));
// Open a FTP session. HINTERNET hFtpSession = InternetConnect (hIntSession, szServerAddr,
INTERNET_DEFAULT_FTP_PORT,
szServerFtpUser, szServerFtpPwd,
INTERNET_SERVICE_FTP, 0, 0) ;
if(hFtpSession == NULL)
{
// 写日志
InternetCloseHandle(hIntSession);
return 0;
} // 上传或下载文件 return 1;
}
(错误为:操作超时),此函数一个小时才返回。FTP线程函数描述如下:DWORD FtpThread(LPVOID lpParam)
{
// Open an internet session HINTERNET hIntSession = InternetOpen(_T("MyFtp"), INTERNET_OPEN_TYPE_PRECONFIG,NULL, NULL, 0);
if(hIntSession == NULL)
{
// 写日志
return 0;
} // set connnection timeout DWORD dwTimeout = 10 * 1000;
InternetSetOption(hIntSession, INTERNET_OPTION_CONNECT_TIMEOUT, &dwTimeout, sizeof(DWORD));
// Open a FTP session. HINTERNET hFtpSession = InternetConnect (hIntSession, szServerAddr,
INTERNET_DEFAULT_FTP_PORT,
szServerFtpUser, szServerFtpPwd,
INTERNET_SERVICE_FTP, 0, 0) ;
if(hFtpSession == NULL)
{
// 写日志
InternetCloseHandle(hIntSession);
return 0;
} // 上传或下载文件 return 1;
}
解决方案 »
- 获取不了编辑框里的文本
- MFC中普通函数怎么能调用类--变量?.
- 获得一个进程的起始地址。
- 请问如何在一段用数码相机拍摄的视频中提取相邻帧?
- 高分求学~~HTTP包分析
- CFileDialog没遇到过的紧急问题,出版过扫盲系列的横秋等专家来看看。
- What is CTI? Help me!!
- 使用傅立叶算法把时域信号变成频域信号了,但怎么处理频域信号呢?
- 网址与e-mail
- 不用findWindow怎么在线程里获得窗口类指针或者句柄
- 高分求教:为什么我在客户端运行远程COM+组件时报“运行时错误‘70’:拒绝的权限”,是什么原因,要怎么解决。
- 求24个英文字母及数字16*16的象素位图(急!!!)
好像这里有微软的一个bug,
所以,微软提供了一个解决方案
你看看msdn,可找到那个例子,
简单的说,用一个线成来控制超时时间