Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Сети > Организация "слоеного" протокола


Автор: Mechatronic 24.7.2012, 17:56
Здравствуйте! Есть протокол из трех уровней (Нестандартный):

1. Физический (physical) - RS-232;
2. Канальный (data link);
7. Прикладной (application);

Уровни 2 и 7 имеют свои механизмы контроля ошибок (CRC, контрольная сумма), механизмы адресации и подтверждений.

Если с физическим уровнем все ясно, то остальные 2 уровня заставили меня задуматься.

Как наиболее "Красиво" и "Правильно" организовать "Заворачивание" данных сначала в один протокол (Уровень 7), затем другой (Уровень 2) на языке C++ ?

На "чистом" C решал подобные задачи пару раз, сейчас интересует приобретение понимания и навыка решения таких задач в рамках идеологии ООП.

Если не затруднит- с примерами хотя бы в форме декларации необходимых классов и пояснений, какие операции и как лучше раскидать по методам. 

Так же буду признателен, если в добавок к объяснению пошлете куда-нибудь  (лучше в конкретную книгу) почитать другие варианты структурной реализации.

Спасибо!

Автор: borisbn 25.7.2012, 06:57
Просматривая Нн-ое количество open-source-ных проектов с такими же точно задачами, я пришёл к выводу, что лучше "чистого" Си ничего для этой конкретной задачи не придумаешь. Не вижу смысла в ООП для формирования данных для передачи или разбора при приёме. Вот на более высоком уровне - возможно, да. Ведь никто не запрещает использовать Си-стиль в Си++-ной программе. Си++ поддерживает многое из Си. Не всё, но достаточно для твоей задачи

Автор: mes 28.7.2012, 12:29
Цитата(borisbn @  25.7.2012,  05:57 Найти цитируемый пост)
 лучше "чистого" Си ничего для этой конкретной задачи не придумаешь. Не вижу смысла в ООП 

smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)