Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Нужна идея и решение... Есть LAN (Win NT) и два клиентских компьютера в сети (Win 9x)... [D6, Win95/98, WinXP]


Song ©   (2002-01-24 17:50:00) 

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


Alex Y   (2002-01-25 12:01:00) [1]

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


Giga-Byte   (2002-01-25 11:58:00) [2]

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


Song   (2002-01-25 10:33:00) [3]

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


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

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


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

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


Alex Y   (2002-01-25 05:09:00) [6]

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


Tosov   (2002-01-24 19:11:00) [7]

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо