Exemple #1
0
int CNiThread::ExitInstance()
{
	//关闭侦听Socket
	if(m_pListenSocket!=NULL)
	{
		m_pListenSocket->Close();
		delete m_pListenSocket;
		m_pListenSocket = NULL;
	}
	
	//释放客户端信息
	POSITION pos = m_mapAddr2ClientInfo.GetStartPosition();
	while(pos != NULL)
	{
		CString strPeerAddr;
		ClientSocketInfoType* pClientInfo = NULL;
		m_mapAddr2ClientInfo.GetNextAssoc(pos,strPeerAddr,(void*&)pClientInfo);
		SAFE_DELETE(pClientInfo);
	}
	m_mapAddr2ClientInfo.RemoveAll();

	AfxSocketTerm();

	return CWinThread::ExitInstance();
}
Exemple #2
0
WnetMgr::~WnetMgr(void)
{
    if (XPR_IS_TRUE(mSockInit))
    {
        AfxSocketTerm();
    }
}