MFC CSocket

moin moin

ich programmiere eine multithreaded server applikation, in der threads (nacheinander) gestartet werden, die dann jeweils auf eine Verbindung warten und nachdem Accept(...) mit TRUE returned hat, einen neuen thread erstellen, der auch wieder auf eine Verbindung wartet und so weiter
Nun bekommen ich allerdings bei Accept( &socket) ein ASSERT:
Code:
BOOL CAsyncSocket::Accept(CAsyncSocket& rConnectedSocket,
	SOCKADDR* lpSockAddr, int* lpSockAddrLen)
{
	ASSERT(rConnectedSocket.m_hSocket == INVALID_SOCKET);
...

Woran könnte das liegen? ich hab das rConnectedSocket auch mal mit Create intialisiert, dann kommt das ASSERT schon bei diesem Create:
Code:
BOOL CAsyncSocket::Socket(int nSocketType, long lEvent,
	int nProtocolType, int nAddressFormat)
{
	ASSERT(m_hSocket == INVALID_SOCKET);
...

Wo liegt denn das Problem? Im prinzip mach ich das mit den Sockets so:
CSocket listen, s;
listen.Create( 12345);
listen.Listen();
listen.Accept( &s);
in dem Fall stürzt das Programm in Accept ab

wenn ich es so mache:
CSocket listen, s;
s.Create( 12345);
listen.Create( 12345);
....
dann schon in s.Create(12345);

Bin für jeden Tipp dankbar :-)
Gruß 0!=0
 
Zurück
Oben