Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Сети > Обмен данными по сети


Автор: AnalogXP 6.10.2010, 20:57
Здравствуйте!

Получил интересную задачу, но с сетями пока сильно дело не имел. Поэтому необходим совет.

Есть программа, которая работает со списком данных. Так вот, нужно чтобы определенные записи можно было бы сделать общедоступными, и чтобы они сразу могли быть видны по сети другой такой же программе. И соответственно наоборот. То есть каждая программа запущенная в сети должна видеть/получить данные из остальных доступных.

Как это делается?
Какие грабли могут быть, что за компоненты испльзовать, как передавать данные... ?
{Delphi 2010}

Заранее спасибо за любой совет.

Автор: kami 6.10.2010, 23:07
Цитата(AnalogXP @  6.10.2010,  20:57 Найти цитируемый пост)
Как это делается?

Сперва - уточни:
"видны по сети" - это по локалке (и какой), или через тырнет?
"каждая программа должна видеть данные остальных" - можно ли одну из машин выделить под сервер, или нет?

Цитата(AnalogXP @  6.10.2010,  20:57 Найти цитируемый пост)
Какие грабли могут быть

Например, попытки одновременного доступа к "одной и той же данной" на запись.

Цитата(AnalogXP @  6.10.2010,  20:57 Найти цитируемый пост)
что за компоненты испльзовать,

А тут уже выбор за тем, с чем привычнее/удобнее работать, тут каждый кулик свое болото хвалить будет smile

Цитата(AnalogXP @  6.10.2010,  20:57 Найти цитируемый пост)
 как передавать данные

Для начала - определиться с компонентами, а как передавать - зависит от придуманного протокола обмена.

Автор: AnalogXP 7.10.2010, 14:42
Цитата(kami @  6.10.2010,  21:07 Найти цитируемый пост)
Сперва - уточни:
"видны по сети" - это по локалке (и какой), или через тырнет?

В данный момент интересует локальная сеть.

Цитата(kami @  6.10.2010,  21:07 Найти цитируемый пост)
"каждая программа должна видеть данные остальных" - можно ли одну из машин выделить под сервер, или нет?

Каждая программа сама по себе, и сервер и клиент. Никакой централизации

Цитата(kami @  6.10.2010,  21:07 Найти цитируемый пост)
Например, попытки одновременного доступа к "одной и той же данной" на запись.

Это исключено.

Цитата(kami @  6.10.2010,  21:07 Найти цитируемый пост)
А тут уже выбор за тем, с чем привычнее/удобнее работать, тут каждый кулик свое болото хвалить будет smile

Да вот не работал я еще


Автор: kami 7.10.2010, 20:39
Цитата(AnalogXP @  7.10.2010,  14:42 Найти цитируемый пост)
Каждая программа сама по себе, и сервер и клиент. Никакой централизации

Это хуже. Но с учетом того, что
Цитата(AnalogXP @  7.10.2010,  14:42 Найти цитируемый пост)
 интересует локальная сеть

тогда, имхо, смотреть в сторону UDP. Я использую http://www.torry.net/pages.php?id=220 (старенькие, но "мне с ними комфортно", жаль под 2010 не пойдут (я работаю в D7) smile  Но и других предостаточно, те же Indy, ICS ... ).
Цитата(AnalogXP @  7.10.2010,  14:42 Найти цитируемый пост)
Это исключено.

Хорошо, если так.
Цитата(AnalogXP @  7.10.2010,  14:42 Найти цитируемый пост)
Да вот не работал я еще

Тогда не знаю... Indy некоторые не любят (например, я), но это больше впечатления от сырых первых версий, и от неумения их готовить. Сейчас про них ничего плохого (но и хорошего smile ) не скажу. Глянь ICS, Synapse... Что больше приглянется, то и бери smile

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