CAsyncSocket -> Message verarbeitung



  • Nabend zusammen,
    ich beschäftige mich gerade mit Sockets, speziell CAsyncSocket. Wenn ich nun alles Richtig verstanden habe, dann sendet eine solches Objekt Messages: OnAccept, OnConnect, OnSend, OnReieve, ... . Nur irgendwie stelle ich mich mit der Verarbeitung dieser Messages etwas dumm an, ich krieg davon nämlich nix mit.

    Zur Zeit verwende ich eine Endlos Schleife für einen Server, der ständig auf Empfang stehen muss. Aber ich weiß, dass es auch anders, nämlich über diese Messages von CAsyncSocket, gehen muss.

    Ich erbe meine eigene Klasse von CAsyncSocket und überlade dann die einzelnen Funktionen. (Dies mache ich über den Klassenassistenten).

    Hier noch etwas Code:

    Header meiner eigenen Klasse

    class ownAsyncSocket : public CAsyncSocket
    {
    // Attribute
    public:
    
    // Operationen
    public:
    	ownAsyncSocket();
    	virtual ~ownAsyncSocket();
    
    // Überschreibungen
    public:
    	// Vom Klassen-Assistenten generierte virtuelle Funktionsüberschreibungen
    	//{{AFX_VIRTUAL(ownAsyncSocket)
    	public:
    	virtual void OnConnect(int nErrorCode);
    	virtual void OnSend(int nErrorCode);
    	//}}AFX_VIRTUAL
    
    	// Generierte Nachrichtenzuordnungsfunktionen
    	//{{AFX_MSG(ownAsyncSocket)
    		// HINWEIS - Der Klassen-Assistent fügt hier Member-Funktionen ein und entfernt diese.
    	//}}AFX_MSG
    
    // Implementierung
    protected:
    	virtual void OnAccept(int nErrorCode);
    };
    

    Und dann noch ein bisserl aus meiner cpp

    void ownAsyncSocket::OnAccept(int nErrorCode)
    {
    	AfxMessageBox("ONACCEPT");
    
    }
    
    void ownAsyncSocket::OnConnect(int nErrorCode) 
    {
    	AfxMessageBox("ONCONNECT");	
    	CAsyncSocket::OnConnect(nErrorCode);
    }
    
    void ownAsyncSocket::OnSend(int nErrorCode) 
    {
    	AfxMessageBox("ONSEND");	
    	CAsyncSocket::OnSend(nErrorCode);
    }
    

    Eigentlich sollte er doch nun bei einem entsprechendem "Event" ne Message senden und ne MessageBox ausgeben oder nicht ?
    Das ganze bezieh sich auf C++/MFC Dialogfeldbasierend unter VC++ 6.0.

    -Danke im Vorraus-
    hever



  • irgendwo folgenden code eingeben, dan horcht er automatisch

    int port=80;
    ownAsyncSocket s;
    s.Create(port);
    s.Listen();
    

Anmelden zum Antworten