Вверх ↑
Этот топик читают: Гость
Ответов: 278
Рейтинг: 6
#1: 2016-12-27 00:09:13 ЛС | профиль | цитата
Привет! Поискал по форуму и не нашел ответа.

Предыстория

Копии программы запущены на нескольких ПК в локальной сети.
Нужно при определенных действиях передавать событие всем действующим копиям.

С "клиент - сервер" все понятно, но текущий сервер может закрыть программу. И нужно переопределять сервер. Или держать другую программу для сервера. Сложновато, ради 1 события.

Посмотрел что DirectoryChanges умеет в локальной сети мониторить.
Схема простая - одна из копий изменила название файла - у всех копий событие.

И все работает.

Как работает компонент? Диск не грузит, процессор не грузит, сеть не грузит. Красота.

предположу

Происходит постоянный поиск содержимого папки и сравнение с предыдущим результатом.
Или ОС предоставляет данные о действиях.

Есть подводные камни в использовании компонента? Например при постоянной записи/чтении одного и того же участка на жестком могут выгорать сектора
7-10 копий каждый рабочий день по 12 часов следят за 1 файлом

А как это проявляется?
Netspirit писал(а):
С тем, что при работе с интерфейсными элементами в параллельных потоках могут быть глюки? Так это все знают.

http://forum.hiasm.com/topic/63187/1
карма: 0

0
Разработчик
Ответов: 26155
Рейтинг: 2127
#2: 2016-12-27 02:51:09 ЛС | профиль | цитата
igr писал(а):
Диск не грузит, процессор не грузит, сеть не грузит

Так работает API функция ядра ReadDirectoryChanges, запущенная в отдельном потоке, те
igr писал(а):
ОС предоставляет данные о действиях

карма: 22

0
Ответов: 278
Рейтинг: 6
#3: 2016-12-27 11:55:11 ЛС | профиль | цитата
nesco, спасибо за ответ)
карма: 0

0
3
Сообщение
...
Прикрепленные файлы
(файлы не залиты)