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

V>Я хочу сказать что при использовании async_read и при условии что размер буфера точно равен размеру сообщения, нет понятий "началось чтение" и "принята часть сообщения". В этом случае для приложения чтение происходит мгновенно в момент вызова readHandler,все остальное скрыто в библиотеке.


вот меня и волновало как там в библиотеке, если я читаю 6 байт, а после чтения 4 сработает таймер, по которому данные записываются в сокет, то как поведет библиотека себя. Не надо ли предпринимать каких-либо дополнительных действий. получается что не надо

V>Если таймер сбрасывать и снова взводить в readHandler, то можно отследить таймаут между приемом двух сообщений.


K>>неее, за это отвечает другой таймер, назовем его t2

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

протокол такой, ГОСТ Р МЭК 60870-5-104
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.