Daten auslesen
-
Hallo
ich empfange mit OnReceive Texte und möchte diese jetzt gerne in meine Datenbank einlesen.
Die OnReceive Funktion habe ich so weit fertig, dass ich Daten empfangen kann. Doch ich möchte jetzt, dass wenn ich das Stichwort "Daten" sende, die nächsten 10 Texte, die ich empfange, in verschiedenen Variablen gespeichert werden. So soll z.B. der erste Text der gesendet wird in m_strName und der zweite empfangene Text in m_strNachname usw. gespeichert werden.
So weit bin ich mit meinem Code:char *pBuf = new char[1025]; int iBufSize = 1024; int iRcvd; CString strRecvd; // Nachricht empfangen iRcvd = m_sConnectSocket.Receive(pBuf, iBufSize); // Haben wir etwas empfangen? if (iRcvd == SOCKET_ERROR) { } else { AfxMessageBox("OnRecieve"); // Ende der Nachricht abschneiden pBuf[iRcvd] = '\0'; // Nachricht in einen CString kopieren strRecvd = pBuf; if (strRecvd == "Daten") // Bin mir nicht sicher ob man es so machen kann, denn ich sende ja eigentlich nur am Anfang einmal das Stichwort "Daten". { // Wenn es doch so geht, was müsste dann hier rein? }
Ich hoffe Ihr könnt mir weiter helfen
Mfg Kobold
-
naja, jetzt müsstest du halt innerhalb des Datenblocks nochmals auslesen.
aber... tu doch deine Daten in ein Protokoll einpacken. z.b. so:
<KOMMANDO> <PACKETLÄNGE> <DATEN>
Die ersten beiden Felder wären dann jeweils 1 Byte lang und <DATEN> n Bytes..so könntest du dann je nach Kommando deine Daten korrekt zuweisen, unabhängig davon, wann und in welcher reihenfolge diese eintreffen.