CAsyncSocket zwingen bestimmte anzahl zu lesen
-
Hall ist es möglich ein CAsyncsocket zuwingen immer eine genaue Anzahl an Bytes zu lesen?
ich habe folgenden Code
int iLen = m_sConnected.Receive(&totalBuffer, sizeof(int));also sollte denke ich immer sizeof(int) gelesen werden (hier auf dem System 4)
allerdings kommt es öfterst mal vor das ich nur 2 byte empfange, was schlecht ist da sich ab dem Zeitpunkt dann die Daten nicht mehr korrekt auslesen lassen bis nicht wieder ein Fehler kommt. Ist das Problem vlt schon bekannt?
LG
-
Was für ein Problem?
Das ist einfach so.
Wenn du nur 2 Byte bekommst, dann starte nochmal ein Receive mit weiteren 2 Byte, und dem Empfangs-Zeiger um 2 Byte versetzt.
Solange, bis du deine 4 Byte beinander hast.
-
hustbaer schrieb:
Was für ein Problem?
Das ist einfach so.
Wenn du nur 2 Byte bekommst, dann starte nochmal ein Receive mit weiteren 2 Byte, und dem Empfangs-Zeiger um 2 Byte versetzt.
Solange, bis du deine 4 Byte beinander hast.Hab ich mitlerweile so gemacht.
LG