Надежность потока TCP
От: gladov Россия  
Дата: 14.08.12 04:19
Оценка:
Добрый день.
Возник вопрос с правильной организацией протокола прикладного уровня. Для управления устройством предполагается использовать Ethernet + TCP/IP. Данные представляют собой управляющие команды (как следствие, планируется пакетная передача) и терять их никак нельзя.
Возникает главный вопрос: возможна ли теоретически потеря или порча данных в потоке TCP? Если допустить что раз в год и палка стреляет, то возможна такая ситуация, что будет испорчен заголовок команды. Тогда пакет будет принят некорректно, но самое страшное, что будет потеряно ожидаемое начало следующего пакета и т.п. Короче, возможен рассинхрон.
Во избежание, придется любо городить некие таймауты для восстановления синхронизации, что не очень хорошо скажется на скорости работы, либо делать стаффинг, но мне не очень нравится реализовывать логику по сути канального уровня поверх транспортного. Либо делать еще что-то, чего мне в голову пока не пришло.
Гуру, подскажите, как все таки правильно сделать надежный пакетный обмен по TCP/IP?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.