读书人

请教为什么每二次调用GetHttpConnecti

发布时间: 2012-03-16 16:34:56 作者: rapoo

请问为什么每二次调用GetHttpConnection就会出错?在线等...

第一次用线程调用A::fn()运行正常,fnThread所做的工作也都搞定了,然后当再次调用时就会出错,为什么?


class A
{
CInternetSession m_cis;
CHttpConnection *m_pHttp;
CString m_strServer;

static unsigned __stdcall fnThread(LPVOID lpParam));
int fn(void);
.............
.............
}

int A::fn(void)
{
A* arg = this;
_beginthreadex(NULL,0, UpdateThread,(LPVOID)arg,0,&m_dwThreadID);

}
unsigned __stdcall A::fnThread(LPVOID lpParam)
{
A* cup = (CImXiliUpdate5*)lpParam;

cup-> m_cis.SetOption(INTERNET_OPTION_CONNECT_TIMEOUT,5);
cup-> m_pHttp = cup-> m_cis.GetHttpConnection(cup-> m_strServer,cup-> m_dwPort);//出错位置




unsinged int nRet = DoSomeThing();//主要是在网上查看一些文件


cup-> m_pHttp-> Close();

cup-> m_cis.Close();
_endthreadex(0);
return nRet;//(unsigned)
}

[解决办法]
cup-> m_cis.Close()
执行完一次以后session被你关掉了

cup-> m_pHttp-> Close()
delete cup-> m_pHttp ;
cup-> m_pHttp = NULL ;
_endthreadex(0) ;
......

读书人网 >VC/MFC

热点推荐