Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2002.04.08;
Скачать: [xml.tar.bz2];

Вниз

Нужна идея и решение... Есть 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.006 c
14-22815
Andrey
2002-02-27 12:41
2002.04.08
Востановление файлов


1-22657
Serd_hhc
2002-03-26 14:09
2002.04.08
Как сменить текст моей консольной проги.


1-22751
Art1
2002-03-25 14:19
2002.04.08
Что нужно для ActiveX?


7-22864
Ruslan
2002-01-09 11:49
2002.04.08
RS232


3-22530
Sergey-ZZZ
2002-03-04 19:12
2002.04.08
FastReport245





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский