Bei send() und recv() wirklich ALLES senden bzw. empfangen?
-
EDIT ich arbeite hier mit structs und anderen daten im größenverhältnis bis 2000 bytes und hab absolut keine probleme, ich versteh nich was da mit sleep helfen soll, ... es hilft einzig und allein nur das du pro sekune nur 2 pakete empfangen kannst -.-
Das das slepp(500) hilft untersctützt wieder meine Theorie, dass es in dieser einleseschleife schiefgeht. Denn wenn man ne halbe sekund wartet ist die Wahrscheinlichkeit, das das paket mitlerweile ganz da ist doch ziemlich groß.
Dann wird es auf einen Schlag in die Struckt geschreiebn und diese Einleseschleife, mit dem Falschen "vorrücken" wird nicht bbenutzt. Denn die Daten sind ja auf einen Schlag vorhanden.Das mit dem Warten auf das sleep ist natürlich keine Lösung die man anstreben sollte. Teste doch wirklich mal Alles erst in nem char Array einzulesen (in der Schleife) und erst dann in die Struckt zu casten. Wenns nicht hilft ist Meine Theorie falsch, aber testen kannstes ja mal. (Vorallem da es keine bessere Lösungstrategie hier gibt)
Obwohl... ich kenne einen "C Compiler" der das falsch umgesetzt hat, also Zeiger immer um n chars weitergerückt hat, egal welchen Typs der Zeiger war. Bloss das ist 15 Jahre her, und das Teil war damals schon Schrott.
PS. Mir ist der Fehler mit dem Visual C++ 6.0 aufgefallen, in der ursprünglichen Version ohne SDK updates.
(Der war zwar auch schrottig, ist aber noch keine 15 jahre her
)
-
(Vorallem da es keine bessere Lösungstrategie hier gibt)
Sorry,
ich hatte die Idee mit den 4 Dummy Bytes überlesen. Teste erst mal das und wenns nicht hilft meine Idee. Denn das mit den 4 Dummy Bytes ist wohl erst mal weniger Arbeit