В Срд, 18/03/2009 в 13:52 +0200, Тихон Тарнавский пишет: > On Wed, 18.03.2009 11:16:03 , Покотиленко Костик wrote: > > В Срд, 18/03/2009 в 10:22 +0600, Andrey Lyubimets пишет: > > > Покотиленко Костик пишет: > > > > В Вто, 17/03/2009 в 18:25 +0300, Artem Chuprina пишет: > > > >> Покотиленко Костик -> [email protected] @ Tue, 17 Mar > > > >> 2009 17:02:39 +0200: > > > >> > > > >>>>>>>> И что же парсит и преобразует telnet при работе в качестве > > > >>>>>>>> клиента SMTP? > > > >>>>>> > > > >>>>>> ПК> Он то ничего не парсит, пользователя telnet'а приходится > > > >>>>>> парсить. > > > >>>>>> > > > >>>>>> Ты опять все понимаешь с точностью до наоборот. Пользователь > > > >>>>>> telnet _имеет возможность_ провести диалог с сервером, не будучи > > > >>>>>> _вынужден_ для этого пользоваться специальным инструментом. > > > >>>>>> Который с шансами будет малость, а то и немалость, устаревшим, и > > > >>>>>> поддерживать не все особенности протокола. > > > >>>>>> > > > >>>>>> Приведу в пример, скажем, swaks - отладчик для конфигурации > > > >>>>>> SMTP. У которого мне, помнится, не удалось найти средства > > > >>>>>> прервать диалог после команды DATA, но до вкармливания в сервер > > > >>>>>> собственно письма. > > > >>>>>> > > > >>>>>> Так-то он весь из себя хороший, и пользоваться им для > > > >>>>>> тестирования конструкции со STARTTLS куда удобнее, чем руками... > > > >>>>>> Но вот пары нужных фич не умеет - и до свидания. И что б я > > > >>>>>> делал, будь там бинарный протокол? Разбирался бы в его коде, > > > >>>>>> чтобы туда эту возможность дописать? А если бы он при этом еще > > > >>>>>> и был написан с использованием сишной библиотеки реализации > > > >>>>>> протокола, и этой возможности не было бы в _ее_ интерфейсе? > > > >>>> > > > >>>> ПК> Это вопрос дисциплины. Бинарь к ней, кстати, располагает все > > > >>>> сравнения с ПК> текстом. > > > >>>> > > > >>>> Последнее предложение на русский переведи, пожалуйста. > > > >>>> > > > >>>> Впрочем, если ты так же пишешь и код, то можешь не переводить. > > > >> > > > >> ПК> сорьки. > > > >> > > > >> ПК> -все+вне > > > >> > > > >> Ага. Опять-таки, совершенно не согласен. Да, располагает. Но не к > > > >> той, которая нужна, а к той, где "за деревьями леса не видно". > > > > > > > > Заголовки этого письма составляют: 5189 байт Текст этого письма с > > > > подписями: 2104 байт КПД: 2104/(5189+2104)=~29% > > > Ты не тот КПД считаешь! нужно считать КПД читателя, заголовки пишутся в > > > первую очередь для человека! > > > > > > > > Письмо, я бы сказал, среднего размера. > > > > > > > > При мысли о том что мне придётся написать парсер заголовков мне никакой > > > > бинарь не страшен, хотя бы по той причине, что я его напишу раз и он > > > > будет > > > > работать всегда для данной версии протокола. > > > И для данной версии твоей программы! > > > > Логично, программы реализует протокол, или несколько. Зато это железно, > > без нюансов. Как по мне, так неожиданно получать неожиданные данные не > > лучше. > > > И ещё раз попрошу прояснить ускользающую от меня связь между > тукстовостью/бинарностью протокола или формата и степенью ожидаемости > данных, хранимых в этом формате или получаемых по этому протоколу.
Постараюсь на пальцах. Грубо говоря, если в тебе надо что-то добавить в бинарном протоколе, с чётко определённым форматом, ты не сможешь это сделать не скорректировав его клиентов и серверов, а точнее либу, которую они используют, так, чтобы ничего не сломалось. Поэтому, к вопросу придётся подойти системно. В случае с текстовым протоколом, где всё не так чётко определено, ты обломаешься и вставишь новое поле куда-нибудь, где оно не сильно помешает, назавёшь его новой фишкой и никому не скажешь. Тут баланс такой - либо делаешь всё как надо, либо потом разгребаешь глюки и усложняешь парсеры. -- Покотиленко Костик <[email protected]> -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected]

