![]() |
|
![]() ![]() ![]() |
|
drkot |
|
|||
![]() Ищущий ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1042 Регистрация: 5.5.2006 Репутация: нет Всего: 8 |
Кто чем пользовался для построения?
Какие впечатления? -------------------- Ошибка не становится истиной по причине широкого распространения, как и Истина не становится Ошибкой из-за того, что никто её не видит. |
|||
|
||||
PointerToNil |
|
|||
![]() Профиль Группа: Участник Сообщений: 108 Регистрация: 17.6.2013 Репутация: 1 Всего: 6 |
на sql.ru больше хороших отзывов о rtc sdk (старая версия бесплатна)
kbmmw тоже все применявшие хвалят и никто не жалуется (есть бесплатная codegear edition) но без описания задачи это игра в угадайку (может, вам message queue нужно, типа этого?) а на вопрос "какие велосипеды лучше?" сразу напрашивается ответ - "только свои" |
|||
|
||||
drkot |
|
|||
![]() Ищущий ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1042 Регистрация: 5.5.2006 Репутация: нет Всего: 8 |
Задача достаточно абстрактная, поэтому и вопрос так поставлен.
ключевые задачи: - достаточно простой и универсальный протокол обмена, что позволит унифицировать сетевую часть (XML, JSON или городить свое) - очень интересна возможность асинхронной работы. То есть запрос отправляется и не ждет ответа, а ответы приходят по мере их формирования - ну и стабильность... например компоненты из серии DBX имеют внутренние утечки по памяти и использовать их в связке не интересно, да и по функционалу позволяют только базовые вещи делать... а то что свои велосипеды лучше, это факт, но их надо зачать, выносить и родить. -------------------- Ошибка не становится истиной по причине широкого распространения, как и Истина не становится Ошибкой из-за того, что никто её не видит. |
|||
|
||||
PointerToNil |
|
|||
![]() Профиль Группа: Участник Сообщений: 108 Регистрация: 17.6.2013 Репутация: 1 Всего: 6 |
упомянутые компоненты заточены под трехзвенки, в том числе переправляют на клиента наследник стандартного tdataset (для пользовательского интерфейса - любые любимые db-aware контролы), то есть о протоколе можно вообще не думать, но можно спуститься и уровнем ниже
качай демки, изучай прилагаемые примеры использования, куча документации оба однозначно надежнее и безглючнее, чем изкоробочный ClientDataSet/MIDAS/DataSnap |
|||
|
||||
PointerToNil |
|
|||
![]() Профиль Группа: Участник Сообщений: 108 Регистрация: 17.6.2013 Репутация: 1 Всего: 6 |
велосипеды не всегда "вынашиваются" отдельно от проекта, иногда эволюционно растут вместе с ним
вот и тут - кинуть через сокеты на другой компьютер примитивный тип (интегер, строку и т.п.) и получить такой же примитивный ответ - пара-пяток десятков строк программирования (первый байт - код типа сообщения, для строки - сначала длина и т.д.), синхронность/асинхронность определяется выбранными сокетными функциями/компонентами, если асинхронность дошла до того, что ответы могут прийти в последовательности, не соответствующей вызовам - придется добавить в вызов номер сообщения, который возвращать в ответе, хочется посылать сложные объекты - разобраться со встроенной сериализацией (tstream.writecomponent) и т.д. - если начальные требования просты, то начальный велосипед может быть элементарным, но если хочется сразу датасеты пересылать - лучше взять готовое решение |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Базы данных и репортинг" | |
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Обязательно указание: 1. Базы данных (Paradox, Oracle и т.п.) 2. Способа доступа (ADO, BDE и т.д.)
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |