CSocket in Konsolenanwendung Assert bei Accept !



  • moin meisters ...

    CSocketSave sockClient;
    	sockSvr.Accept(sockClient);
    

    in konstanten Zeitabständen wird ein Debug Assertion Failed gebracht in

    BOOL CSocket::PumpMessages(UINT uStopFlag)
    {
    	// The same socket better not be blocking in more than one place.
    	ASSERT(m_pbBlocking == NULL);
    
    	_AFX_SOCK_THREAD_STATE* pState = _afxSockThreadState;
    
    	ASSERT(pState->m_hSocketWindow != NULL);   // hier Assert
    ...
    

    muß ich das beachten ? die Release läuft. Oder darf CSocket nur in MFC GUI Anwendungen verwendet werden ?

    Besten Dank im Voraus
    mfg
    RB



    1. Hast du AfxSocketInit aufgerufen?
    2. Die Implementierung der Sockets in MFC benötigt ein Fenster (für Benachrichtigungen von WSAAsyncSelect). Da du in deiner Konsoleanwendung wahrscheinlich keine Nachrichtenschleife hast, und ohne Nachrichtenschleife die Benachrichtigungen ausbleiben, vermute ich, dass es so gar nicht funktioniert.

Anmelden zum Antworten