CAsyncSocket - Problem



  • also ich bastele mir gerade n chat.die serveranwendung laeuft (sagen wir mal so der port wird geoeffnet hab ich mit portscanner ueberprueft.)wenn der client darauf connecten will kriege ich aber keine verbindung.
    ich poste mal n bissle code vom server:

    UpdateData(TRUE);
    if(m_sListenSocket.Create(m_iPort))
            {
                if(m_sListenSocket.Listen())
                {
                    if(m_sListenSocket.Accept(m_sRecvSocket))
                    {
                              //hier kommt dann senden und so rein
    
                    }
                    else
                    {
                    }
    
                }
                else
                {
                    MessageBox("Fehler");
                }
            }
            else
            {
                MessageBox("Fehler");
            }
    

    da wo der comment steht muss ich natuerlich noch send und so reinbasteln.es geht mir atm nur da rum die verbindung herzustellen.
    und etzt der enstprechende code aus dem client:

    UpdateData(TRUE);
        if(m_sConnect.Create())
        {
            if(m_sConnect.Connect(m_strName, m_iPort))
            {       
                  MessageBox("Verbindung hergestellt");
            }
            else
            {
                MessageBox("Verbindung konnte nicht hergestellt werden");
            }
        }
        else
        {
            MessageBox("Fehler");
        }
    

    warum kriege ich keine verbindung.da ich alles mit messageboxen abgecheckt habe kann ich euch auch sagen das Verbindung konnte nicht hergestellt werden fehlermeldung kommt.

    Buedde Hilfe



  • Du arbeitest mit CAsyncSocket.

    Die kriegst immer eine Message wenn jemand sich mit dem ServerSocket verbinden will.

    Schau dir mal in der MSDN an:

    OnAccept
    OnClose
    OnConnect
    OnReceive
    OnSend



  • d.h. ich muss vor der Accept noch onaccept und so oder



  • Du musst dir eine Klasse von CAsyncSocket ableiten und dort OnAccept überschreiben. Dort drinnen rufst du dann Accept auf.



  • ok danke.
    aber eine frage hab ich noch:
    ich lasse in meinem chat die nachrichten und so alles in einem richedit ueber eine membervariable anzeigen.da so chats ziemlich lange dauern koennen wollte ich wissen ob es von der performance her besser waere wenn ich die variable immer loeschen taete und ueber updatedata wieder fuellen taete oder ob es schneller ist einfach immer nur sachen zur variablen hinzuzufuegen ?



  • Ich würde es dranhängen und zwar mit SetSel & ReplaceSel



  • ok danke, auch fuer die schnelle hilfe


Log in to reply