Re[5]: [boost::asio]прерывание async_read обработчиком тайме
От: kvser  
Дата: 20.05.09 10:01
Оценка:
Здравствуйте, Vinick, Вы писали:

K>А так ли нужны такие сложности. Может достаточно проверять просто отсутствие данных на сокете в течении определенного времени, безотносительно целое сообщение или его часть.


и был вопрос в том, что произойдет если только часть сообщения успеет обработаться async_read'ом. Подумывал о том, чтобы после получения хотя бы байта, перезапускать таймер t3, потому что если он сработает во время выполнения async_read, то надо писать в сокет и ждать ответа уже на это тестовое сообщение. Получается что при следующем чтении, ожидая ответ на тестовое сообщение, я начну получать из какого-то "библиотечного" буфера остаточные данные недополученного ранее сообщения, в результате неправильный ответ на тест и дисконнект.
А за время чтения отвечает другой таймер t2
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.