Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.04.08;
Скачать: CL | DM;

Вниз

Нужна идея и решение... Есть LAN (Win NT) и два клиентских компьютера в сети (Win 9x)...   Найти похожие ветки 

 
Song ©   (2002-01-24 17:50) [0]

На обоих компьютерах стоит одна и таже программа (как раз та, которой и требуется помощь). Эта программа обрабатывает один и тот же файл на сервере. Допустим, один клиент измениил и записал файл, тогда второй клиент, при попытке записи запишет "старый" файл без изменений первого. Как решить проблему?
Идея: принцип динамического обновления. После записи любой клиент посылает сообщение по LAN всем остальным клиентам о необходимости обновления этого файла, и все остальные компьютеры перечитывают файл. Вопрос как её релизовать? И можно ли это сделать?
Ещё идеи?


 
Tosov ©   (2002-01-24 19:11) [1]

Забыл указать - у тебя есть исходники проги или нет?


 
Alex Y ©   (2002-01-25 05:09) [2]

Можно так сделать:
1. Если нужно просто узнать на сервере более поздняя версия, то просто проверяешь дату последнего обновления файла на сервере, сравниваешь с текущей в программе и, следовательно, делаешь выводы :)
2. Если нужно сразу после обновления оповестить все компы, здесь немного сложнее.
Для начала на сервере, или на каждой машине (в зависимости от реализации) создаешь список IP-адресов всех установленных тобой программ. Далее, после обновления файла, используя стандартный компонент Делфи связи по TCP/IP, поочереди по списку соединяешься с каждой машиной и отправляешь сообщение об изменении. Далее обновляешь файл.


 
_Tosov   (2002-01-25 07:16) [3]

2Alex Y
>и отправляешь сообщение об изменении...
А можно поподробнее об этом?


 
Alex Y ©   (2002-01-25 08:19) [4]

А чего тут подробней то? Обновил файл на сервере. Сформировал пакек со строкой типа "такой то комп., тогда то, дескать обновил и т.п.". И отправляешь его по IP на нужный адрес. А там, зная формат отправленой строки, разбираешь ее. Вот и все.


 
Song ©   (2002-01-25 10:33) [5]

Исходник само собой есть. Но чтобы не иметь списка, можно отправлять сообщение всем на адрес 1.1.1.* например?


 
Giga-Byte ©   (2002-01-25 11:58) [6]

А файлик то на сервере большой????? А ведь можно серверную программу написать, которая в памяти будет хранить все данные, и отсылать/принимать клиентам/от клиентов средствами Дельфи (TServerSocket и TClientSocket)


 
Alex Y ©   (2002-01-25 12:01) [7]

2 Song
Можно и так, только зачем тебе лишний трафик?
Да и безопасность нарушается.



Страницы: 1 вся ветка

Текущий архив: 2002.04.08;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.01 c
3-22528
Gunner
2002-03-14 10:22
2002.04.08
Не могу разобраться с SET INTEGRITY в DB2


6-22775
Song
2002-01-24 17:50
2002.04.08
Нужна идея и решение... Есть LAN (Win NT) и два клиентских компьютера в сети (Win 9x)...


3-22537
lkj
2002-03-13 15:38
2002.04.08
Проблемы с DBGrid


7-22858
Zevsus
2002-01-15 20:45
2002.04.08
копирование файлов в фоне


3-22569
Malder
2002-03-16 13:55
2002.04.08
Подсчет количества записей