Ejemplo n.º 1
0
void CServerService::Run() 
{
	for (auto iter = m_clientSet.begin(); iter != m_clientSet.end(); )
	{
		if (!(*iter)->isRunning())
		{
			m_clientSet.erase(iter);
			delete *iter;
		}
		else
			++iter;
	}

	TcpHostInfo thi;
	
	try {
		CTcpSocket cliSocket;
		if (m_tcpSocket.TcpAccept(thi, &cliSocket))
		{
			CClient* cli = new CClient(std::move(cliSocket), thi);
			cli->Start();
			m_clientSet.insert(cli);
		}
	}
	catch(CTcpSocketException e)
	{
		TRACE(traceAppMsg, 0, e.getMessage().c_str());
	}
	
	
}