CSocket-Zeiger in CList speichern
-
ich verstehe folgende zeile nicht:
if (m_sListenSocket.Accept(*((CMySocket*) oData[m_cConnData.GetSize() -1])))
was ist dieses m_cConnData.GetSize() ???
-
du hast vor dieser zeile dein neuen socket in das array eingefügt. du musst für dieses objekt noch die funktion accept aufrufen, damit du die verbindung benutzen kannst.
du rufst accept deines socket-klassen-objektes auf und speicherst die daten in deinen eben erzeugten neuen socket objekt ab.
innerhalb von accept (bei der zeile die du nicht verstehst) nimmst du dir einfach das letzte objekt deines arrays und übergibst einen pointer für dieses objekt an die funktion Accept(). das letzte objekt ist der socket den wir eben hinzugefügt haben in das array
-
oke dankeschön...ich glaub, jetzt hab ichs
-
ACHTUNG HABE NOCH EINE FRAGE:
was ist diese variable:
m_cConnData
was steht da drinnen, was für ein typ ???
lg
-
steht doch oben. typ CObArray. darin speicherst du deine verbindungen
-
du, sorry, wenn ich dir damit auf die nerven gehe:
aber ich hab da irgendwo einen gedanken fehler...
von was für einen typ is oData ???
ich dachte, das wäre das CObArray....
:-\ *HILFE*
-
oData ist ein objekt vom datentyp CObArray. wo ist das problem?
-
prob iss, dass ich brillenträger bin
ich habs jetzt (glaub ich)
-
oke, also dann klappt soweit...
der client wird nun in das CObArray geschrieben...
nun, wie kann ich den jetzt weiter für archive verwenden...
wenn ich
if(m_server.Accept((*(CMySocket*) oData[oData.GetSize()-1]))) { mp_empfangen = new CSocketFile((CMySocket*)oData[oData.GetSize()-1]); mp_arIn = new CArchive(mp_empfangen,CArchive::load); mp_arOut = new CArchive(mp_empfangen,CArchive::store); Logging("Server akzeptiert und bestätigt Verbindung zum Client."); }
schreibe, dann geht das nicht...
also das programm kommt durch den debug, jedoch wenn etwas über mp_arIn reinkommt, gibt es einen fehler... :-\
ich verzweifel
-
wie bitte ? ich verstehe jetzt nicht mehr was du überhaupt erreichen willst !?
du hast alle verbindungen im array gespeichert. warum willst du jetzt noch was mit archiven machen ?
-
oke, also es hat sich jetzt alles geklärt funktioniert auch alles.
thx, auch für deine geduld
lg chris
p.s.: war ne schwere geburt