![]() |
|
Модераторы: feodorv |
![]()
|
|
| Mechatronic |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 73 Регистрация: 28.3.2010 Репутация: нет Всего: нет |
Здравствуйте! Есть протокол из трех уровней (Нестандартный):
1. Физический (physical) - RS-232; 2. Канальный (data link); 7. Прикладной (application); Уровни 2 и 7 имеют свои механизмы контроля ошибок (CRC, контрольная сумма), механизмы адресации и подтверждений. Если с физическим уровнем все ясно, то остальные 2 уровня заставили меня задуматься. Как наиболее "Красиво" и "Правильно" организовать "Заворачивание" данных сначала в один протокол (Уровень 7), затем другой (Уровень 2) на языке C++ ? На "чистом" C решал подобные задачи пару раз, сейчас интересует приобретение понимания и навыка решения таких задач в рамках идеологии ООП. Если не затруднит- с примерами хотя бы в форме декларации необходимых классов и пояснений, какие операции и как лучше раскидать по методам. Так же буду признателен, если в добавок к объяснению пошлете куда-нибудь (лучше в конкретную книгу) почитать другие варианты структурной реализации. Спасибо! |
|||
|
||||
| borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 2 Всего: 135 |
Просматривая Нн-ое количество open-source-ных проектов с такими же точно задачами, я пришёл к выводу, что лучше "чистого" Си ничего для этой конкретной задачи не придумаешь. Не вижу смысла в ООП для формирования данных для передачи или разбора при приёме. Вот на более высоком уровне - возможно, да. Ведь никто не запрещает использовать Си-стиль в Си++-ной программе. Си++ поддерживает многое из Си. Не всё, но достаточно для твоей задачи
Это сообщение отредактировал(а) borisbn - 25.7.2012, 06:58 -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 1 Всего: 250 |
||||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Сети | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |