--- trunk/H7 Server/TcpServerClass.cpp 2007/01/31 17:05:15 32 +++ trunk/H7 Server/TcpServerClass.cpp 2007/01/31 17:22:59 33 @@ -11,6 +11,23 @@ void TcpServerClass::OnAccept(int nErrorCode) { - Accept(TcpClient); + typedef std::list::iterator ClientIt; + + TcpClientClass* client = new TcpClientClass; + Accept(*client); CSocket::OnAccept(nErrorCode); + + mClients.push_back(client); + + for (ClientIt it = mClients.begin(); it != mClients.end(); it++) + { + if ( (*it)->isClosed ) + { + delete (*it); + mClients.erase(it); + //efter erase er iteratoren ikke længere valid + it = mClients.begin(); + } + } + }