2010-12-17 3 views
0

Wenn ich Boost :: Asio :: Async_write verwendet, um einige große Daten zu senden, fand ich die Daten, die ich erhalten hatte, wurde versaut, aber die Gesamtgröße war korrekt. Es schien, als würden sich zwei Datengruppen überlappen. Was kann ich tun, um dies zu vermeiden?Daten sind durcheinander boost :: asio :: async_write

+2

Sie kennt das Problem eine abgespeckte Arbeitscodebeispiel ausstellenden bieten sollte. –

Antwort

2

Ohne Code, es ist ein Stich in der Dunkelheit ..

  1. Sie sicher, dass Sie nicht den gleichen Puffer für Lese-/Schreiboperationen verwenden
  2. Wenn Sie Operationen verwenden async_xxx, stellen Sie sicher, dass sie nicht überlappten, dh Sie nie async_read aufrufen müssen, bis die vorherige Lese abgeschlossen und gleich für async_write
  3. Sie kopieren die Daten nicht in die Puffer korrekt
  4. Sie haben ein Netzwerkproblem bekam
  5. Strahlung aus dem Weltraum wird zufällig Bits auf den Draht zu modifizieren ..

die ...