2010-12-17 3 views
0

когда я использовал boost :: asio :: async_write для отправки некоторых больших данных, я обнаружил, что данные, полученные мной, были испорчены, но общий размер был правильным. казалось, что две группы данных перекрываются. Что я могу сделать, чтобы этого не случилось?данные перепутаны при использовании boost :: asio :: async_write

+2

Вы должны обеспечить сократить рабочий образец кода, демонстрирующий эту проблему. – 2010-12-17 07:06:23

ответ

2

Без кода, это удар в темноте ..

  1. Убедитесь, что вы не используете один и тот же буфер для операций чтения/записи
  2. Если вы используете async_xxx операции, убедитесь, что они не являются перекрывающийся, то есть вы никогда не должны называть async_read, пока предыдущее чтение не завершается, и то же самое для async_write
  3. вы не скопировать данные в буфер правильно
  4. у вас есть вопрос сети
  5. Излучение от пространства случайным образом изменяя биты на проводе ..

, кто знает ...

Смежные вопросы