On Wed, 18.03.2009 18:36:45 , Покотиленко Костик wrote: > В Срд, 18/03/2009 в 22:25 +0600, ivan demakov пишет: > > On Wednesday 18 March 2009 18:28:11 Покотиленко Костик wrote: > > > > > > Постараюсь на пальцах. Грубо говоря, если в тебе надо что-то добавить в > > > бинарном протоколе, с чётко определённым форматом, ты не сможешь это > > > сделать не скорректировав его клиентов и серверов, а точнее либу, > > > которую они используют, так, чтобы ничего не сломалось. Поэтому, к > > > > по моему опыту > > > > 1) написать текстовый парсер не так и сложно > > тут, главное, придумать правильный протокол (т.е. язык) > > Ключевое слово "правильный протокол". Если это так то текстовый он или > бинарный уже не такая большая разница. > > > 2) написать нормальный бинарный парсер - ничуть не проще > > Не проще. Но и не сложнее. Т.е. из твоих слов получается, что разницы нет. А она есть: текстовый формат гораздо гибче и -- главное -- на порядки упрощает ручное разрешение любых проблемных ситуаций.
> > 3) но можно написать очень простой бинарный парсер > > при этом, если клиент получает неправильные данные, > > этот клиент в лучшем случае падает, а в худшем -- выполняет > > произвольный код. > > Протокол тут ни при чём, это вопрос реализации. > > Входные данные всегда должны быть подвергнуты проверке. А в случае с > текстом съехавшее поле в парсере - ситуация гораздо сложнее, и > вероятнее. Чем же она сложнее, и почему вероятнее? -- С уважением, Тихон Тарнавский. http://linuxforum.ru http://posix.ru -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected]

