Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.008 c
1-22742
e-SiN
2002-03-26 15:32
2002.04.08
Always on Top


7-22863
Song
2002-01-10 13:09
2002.04.08
Такая проблема: обрабатываю исключение, делаю try..except, при запуске exe оно обрабатывается...


3-22578
ghost_by
2002-03-14 21:19
2002.04.08
ACCESS и threads


3-22587
onix
2002-03-18 08:25
2002.04.08
Тип float в InterBase.


1-22630
Anton+
2002-03-27 17:36
2002.04.08
Чем разделитель #10 отличается от #13?




   Наверх