#include "StdAfx.h" #include ".\tcpserverclass.h" TcpServerClass::TcpServerClass(void) { } TcpServerClass::~TcpServerClass(void) { } void TcpServerClass::OnAccept(int nErrorCode) { typedef std::list::iterator ClientIt; CString clientStr; CString host; unsigned int port; TcpClientClass* client = new TcpClientClass; Accept(*client); CSocket::OnAccept(nErrorCode); mClients.push_back(client); client->GetPeerName(host,port); clientStr.Format("Connection from %s:%d\n", host,port); OutputDebugString(clientStr); 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(); } } }