Покотиленко Костик -> [email protected]  @ Wed, 18 Mar 2009 
14:28:11 +0200:

 >> > Логично, программы реализует протокол, или несколько. Зато это железно,
 >> > без нюансов. Как по мне, так неожиданно получать неожиданные данные не
 >> > лучше.
 >> > 
 >> И ещё раз попрошу прояснить ускользающую от меня связь между
 >> тукстовостью/бинарностью протокола или формата и степенью ожидаемости
 >> данных, хранимых в этом формате или получаемых по этому протоколу.

 ПК> Постараюсь на пальцах. Грубо говоря, если в тебе надо что-то
 ПК> добавить в бинарном протоколе, с чётко определённым форматом, ты не
 ПК> сможешь это сделать не скорректировав его клиентов и серверов, а
 ПК> точнее либу, которую они используют, так, чтобы ничего не
 ПК> сломалось. Поэтому, к вопросу придётся подойти системно.

 ПК> В случае с текстовым протоколом, где всё не так чётко определено,
 ПК> ты обломаешься и вставишь новое поле куда-нибудь, где оно не сильно
 ПК> помешает, назавёшь его новой фишкой и никому не скажешь.

 ПК> Тут баланс такой - либо делаешь всё как надо, либо потом разгребаешь
 ПК> глюки и усложняешь парсеры.

То-то я гляжу, почти все реально используемые бинарные протоколы
_разработаны_ с учетом возможности расширения заранее неизвестным
способом, и в немалом их количестве она уже задействована...

Причем задействована порой через такую ж..., что поневоле задумаешься, а
не стоило ли сделать изначальный протокол текстовым, чтобы библиотека,
его реализующая, все же была сделана попрямее?

На реализации TLS в этом смысле очень полезно посмотреть.  Особенно - на
те, которые до сих пор поддерживают совместимость с SSL 2.0.

-- 
Artem Chuprina
RFC2822: <ran{}ran.pp.ru> Jabber: [email protected]

Вот .NET и Mono - это современные технологии.  В смысле - сырые и глюкавые.
        Victor Wagner в <[email protected]>


-- 
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]

Ответить