Страница 1 из 1

Udp - сообщения

Добавлено: 25 июн 2003, 18:31
Case
Доброго Вам времени суток!

Наверное, Вы знаете, что экземпляры Галактики обмениваются между собой сообщениями по протоколу UDP. Сообщения об изменении, удалении, вставке в таблицы.
Первое, что я понял: при загрузке экземпляр читает x$activeusers и по полю reserved (адрес и порт клиента) кидает сообщения при модификации информации.
Второе, при подключении к базе экземпляр оповещает клиентов о своем подключении.
Третье, запись о присутствии клиента в x$activeusers экземпляры постоянно пытаются удалить, поэтому её надо блокировать.
Далее, незначительные детали.
У кого нибудь есть описание этого механизма взаимодействия или/и опыт создания подобных приложений?

Буду рад услышать ваши отклики.
Мой адрес: golovan_anton@mail.ru

Re: Udp - сообщения

Добавлено: 25 июн 2003, 18:42
Case
Добавлю.
я имею в виду приложения, которые прикидываются ;D Галактикой и общаются с ней.

Re: Udp - сообщения

Добавлено: 26 июн 2003, 13:17
IgorA
Я думаю, об этом механизме могут рассказать только разработчики.
Во всяком случае, я об этом вообще нигде не слышал, просто, когда прослушивал порты, увидел, что клиенты галактики общаются друг с другом, причем даже если ничего в галактике не делать, то она все-равно, через каждые 30 секунд посылает запросы. А главное, эти запросы идут не всем клиентам, а только некоторым, каждый раз разным. Логики в этих запросах я не увидел, а наши внедренцы, об этом даже не слышали.

Re: Udp - сообщения

Добавлено: 26 июн 2003, 15:51
ScooP
udp используется исключительно для корректной работы утилиты "консоль администратора", для посылки сообщений. Если ее нет, то и заморачиваться на этот счет не стОит.

Re: Udp - сообщения

Добавлено: 26 июн 2003, 17:00
Case
Почему исключительно для консоли? А зачем консоли знать о модификации данных?
Можно запустить две Галактики, подключенные к одной базе, и удалить в одной накладную, она сразу пошлет сообщение (даже в локале, без сети), и другой экземпляр, если у него было открыто окно с накладными, при перемещении курсора, уже не покажет эту накладную! Вот в чём соль.
Сообщение имеет такой вид:
тип действия (0 - вставка записи, 1 - изменение,2 - удаление);
кодовый номер таблицы, в которой производится действие, из таблицы x$file;
Btrieve'ский ID записи.
Это для Btriev'a.
Или, может быть, я что то не понял? Причем тут консоль?

Re: Udp - сообщения

Добавлено: 27 июн 2003, 09:38
Maxim
А влияет ли установка параметра

[Network]
UpdateTable
(Разрешение отправки сообщений об изменении в таблице)

на генерацию этих сообщений?

Re: Udp - сообщения

Добавлено: 27 июн 2003, 14:16
Case
Да, влияет. По умолчанию параметр = On

Re: Udp - сообщения

Добавлено: 01 июл 2003, 17:14
Forsit_
Антон, а что будет если поставать
Network.UpdateTable=off?

Запросы широковещательные?

Re: Udp - сообщения

Добавлено: 01 июл 2003, 20:53
Case
Я нашел описание сетевого взаимодействия, но не совсем разобрался. Пока проблема стоит в написании сетевого клиента, но это поправимо ;) При настройке Network.UpdateTable=off сообщения НЕ рассылаются экземплярами.
А в каком смысле широковещательные? Бродкастинг есть, по всем пользователям базы (из таблы activeusers), при изменении таблицы все они получают соответствующее сообщение. Если сеть раскидана по сегментам, с соответствующей маршрутизацией, то, надо полагать, сообщения пойдут только тем пользователям, кому они нужны. Я это так понимаю. Если сеть IPX, то сообщения точно широковещательные. Но все равно большого флудинга от них нет, если тебя это беспокоит.

С уважением, Антон Головань.

Добавлено: 10 дек 2007, 15:53
kdm
А по конкретней можно, какие последствия будут при
Network.UpdateTable=off
?
Галактика корректно работать будет?