gethttpconnection

场景:请教为什么每二次调用GetHttpConnection就会出错?

请问为什么每二次调用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) ;
......