|
|
|
evkwarrior |
|
|||
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 15.3.2007 Репутация: нет Всего: 1 |
ДОброго времени суток, уважаемые форумчане
Возникла такая проблема: необходимо разработать шаблон (а точнее формат шаблона) для описания протоколов прикладного уровня (http, smtp и т.д.). в шаблоне должно находиться полное описание протокола (элементы, их характеристики и условия, налагаемые для них) к примеру, для протокола http шаблон должен включать примерно следующую инфу: стартовая строка (метод - uri - версия) заголовки (запросные заголовки (accept, referer и т.д), ответные заголовки, и т.д.) content-body + к этому для каждого элемента протокола условия его применения (запросные заголовки тогда, когда метод Get или post). фишка в том, что шаблон должен быть универсальным и способным описать любой протокол (как бинарный, так и текстовый) программа, обрабатывающая шаблон, не должна ничего знать о том, шаблон какого протокола она обрабатывает. причем важнее больше придумать формат шаблона (метод описания данных). я никогда с подобным не сталкивался, и эта задача ставит меня в ступор. я не прошу придумать что-то за меня, а просто хочу спросить совета: может, кто-то сталкивался с чем-то подобным (разработка шаблонов описания протоколов или файловых форматов) и может поделиться опытом, или кто-то знает, где копать на эту тему, где почитать. разработка планируется на C++ в QT или Visual Studio 2008 очень буду признателен, если кто-то поможет |
|||
|
||||
bsa |
|
|||
Эксперт Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: нет Всего: 196 |
evkwarrior, как ты думаешь, зачем все эти протоколы были придуманы? Вот именно, они предназначены для разных целей. http - для получения данных от сервера, который их генерирует на основании полей запроса. ftp - для обмена файлами с сервером... SMB для поддержания сети Windows (общий доступ к файлам и папкам). Вот и скажи, что между ними общего? Например, у http нет возможности получить список файлов, а у ftp нельзя задать поля referer и пр.
Другими словами, универсальный шаблон сделать нельзя, так как работающая с ним программа должна знать, с каким протоколом она работает, и какие ресурсы для работы он ей предоставляет. Если уж тебе совсем ни в моготу, то напрямую используй протокол IP - на этом уровне модели OSI вообще нет понятий HTTP/FTP и пр. Вот только средств для этого в Qt, кажется, нет. Это сообщение отредактировал(а) bsa - 7.12.2009, 21:07 |
|||
|
||||
evkwarrior |
|
|||
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 15.3.2007 Репутация: нет Всего: 1 |
||||
|
||||
chaos |
|
|||
Серийный программист Профиль Группа: Завсегдатай Сообщений: 2979 Регистрация: 7.7.2004 Где: Екатеринбург Репутация: нет Всего: 44 |
evkwarrior, думаешь в этом топике тебе будет лучше?
еще раз повторяю
лучше еще не придумали, да и не надо! |
|||
|
||||
evkwarrior |
|
|||
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 15.3.2007 Репутация: нет Всего: 1 |
chaos,
Почитал.... слишком муторно((( только для понимания языка пишут книжки по 600 стр. Я уж молчу про реализацию парсера.... хотя, может и стоит попробовать |
|||
|
||||
ТарасАтавин |
|
|||
Опытный Профиль Группа: Участник Сообщений: 370 Регистрация: 26.8.2013 Репутация: нет Всего: нет |
Не имеет значения. В любом случае если программа не знает, с каким протоколом работает, то она и не может с ним работать, какие бы шаблоны и в каких бы форматах для этого ни применялись. Сама прога должна быть специализированной, чтоб работать хоть с каким то протоколом через шаблон или без, мейлер в любом случае не сможет играть онлайнвидео, а клиент WoT не разжуёт сайт. А из собственного назначения прога уже знает, с какими протоколами работает.
-------------------- Не так всё плохо, как оно есть на самом деле. |
|||
|
||||
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Форматы файлов и данных | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |