ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Суббота
20 июля
34528 Топик полностью
-=Max_Fly=- (30.06.2005 22:41, просмотров: 1) ответил psL на Нет - данные переданы запускаем таймер ожидания ответа, только и всего.
а что мешает запускать таймер ожидания ответа перед тем как начать передавать данные? ко время таймаута ожидания добавьте время собственно передачи, и всего делов. всё дело в том что tcdrain - не реального масштаба времени функция даже в реалтайм ОС. типа QNX. обычно в лишних телодвижениях нужды просто нет. вы ставите данные в буфер и блокируетесь на tcdrain по окончании передачи поток разблокируется взводиит таймер таймаута и снова блокируется на блокирующим чтении, разблокируется поток по приходу данных либо по истечению таймаута, так почему бы сразу не взвести таймер таймаута и заблокироваться на чтении даже не дожидаясь окончания передачи. результат тот же.