Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Форматы файлов и данных > шаблон для описания протоколов |
Автор: evkwarrior 7.12.2009, 11:38 |
ДОброго времени суток, уважаемые форумчане Возникла такая проблема: необходимо разработать шаблон (а точнее формат шаблона) для описания протоколов прикладного уровня (http, smtp и т.д.). в шаблоне должно находиться полное описание протокола (элементы, их характеристики и условия, налагаемые для них) к примеру, для протокола http шаблон должен включать примерно следующую инфу: стартовая строка (метод - uri - версия) заголовки (запросные заголовки (accept, referer и т.д), ответные заголовки, и т.д.) content-body + к этому для каждого элемента протокола условия его применения (запросные заголовки тогда, когда метод Get или post). фишка в том, что шаблон должен быть универсальным и способным описать любой протокол (как бинарный, так и текстовый) программа, обрабатывающая шаблон, не должна ничего знать о том, шаблон какого протокола она обрабатывает. причем важнее больше придумать формат шаблона (метод описания данных). я никогда с подобным не сталкивался, и эта задача ставит меня в ступор. я не прошу придумать что-то за меня, а просто хочу спросить совета: может, кто-то сталкивался с чем-то подобным (разработка шаблонов описания протоколов или файловых форматов) и может поделиться опытом, или кто-то знает, где копать на эту тему, где почитать. разработка планируется на C++ в QT или Visual Studio 2008 очень буду признателен, если кто-то поможет |
Автор: bsa 7.12.2009, 21:05 |
evkwarrior, как ты думаешь, зачем все эти протоколы были придуманы? Вот именно, они предназначены для разных целей. http - для получения данных от сервера, который их генерирует на основании полей запроса. ftp - для обмена файлами с сервером... SMB для поддержания сети Windows (общий доступ к файлам и папкам). Вот и скажи, что между ними общего? Например, у http нет возможности получить список файлов, а у ftp нельзя задать поля referer и пр. Другими словами, универсальный шаблон сделать нельзя, так как работающая с ним программа должна знать, с каким протоколом она работает, и какие ресурсы для работы он ей предоставляет. Если уж тебе совсем ни в моготу, то напрямую используй протокол IP - на этом уровне модели OSI вообще нет понятий HTTP/FTP и пр. Вот только средств для этого в Qt, кажется, нет. |
Автор: evkwarrior 10.12.2009, 15:01 |
дружище, формат шаблона, а не шаблон!!! шаблонов будет много, для каждого протокола. А формат будет один!!! |
Автор: chaos 10.12.2009, 15:43 | ||
evkwarrior, думаешь в этом топике тебе будет лучше? ![]() еще раз повторяю
лучше еще не придумали, да и не надо! |
Автор: evkwarrior 12.3.2010, 12:22 | ||
chaos,
Почитал.... слишком муторно((( только для понимания языка пишут книжки по 600 стр. Я уж молчу про реализацию парсера.... хотя, может и стоит попробовать |
Автор: ТарасАтавин 30.11.2013, 16:18 |
Не имеет значения. В любом случае если программа не знает, с каким протоколом работает, то она и не может с ним работать, какие бы шаблоны и в каких бы форматах для этого ни применялись. Сама прога должна быть специализированной, чтоб работать хоть с каким то протоколом через шаблон или без, мейлер в любом случае не сможет играть онлайнвидео, а клиент WoT не разжуёт сайт. А из собственного назначения прога уже знает, с какими протоколами работает. |