Udp - сообщения
Модераторы: m0p3e, edward_K, Модераторы
Udp - сообщения
Доброго Вам времени суток!
Наверное, Вы знаете, что экземпляры Галактики обмениваются между собой сообщениями по протоколу UDP. Сообщения об изменении, удалении, вставке в таблицы.
Первое, что я понял: при загрузке экземпляр читает x$activeusers и по полю reserved (адрес и порт клиента) кидает сообщения при модификации информации.
Второе, при подключении к базе экземпляр оповещает клиентов о своем подключении.
Третье, запись о присутствии клиента в x$activeusers экземпляры постоянно пытаются удалить, поэтому её надо блокировать.
Далее, незначительные детали.
У кого нибудь есть описание этого механизма взаимодействия или/и опыт создания подобных приложений?
Буду рад услышать ваши отклики.
Мой адрес: golovan_anton@mail.ru
Наверное, Вы знаете, что экземпляры Галактики обмениваются между собой сообщениями по протоколу UDP. Сообщения об изменении, удалении, вставке в таблицы.
Первое, что я понял: при загрузке экземпляр читает x$activeusers и по полю reserved (адрес и порт клиента) кидает сообщения при модификации информации.
Второе, при подключении к базе экземпляр оповещает клиентов о своем подключении.
Третье, запись о присутствии клиента в x$activeusers экземпляры постоянно пытаются удалить, поэтому её надо блокировать.
Далее, незначительные детали.
У кого нибудь есть описание этого механизма взаимодействия или/и опыт создания подобных приложений?
Буду рад услышать ваши отклики.
Мой адрес: golovan_anton@mail.ru
Re: Udp - сообщения
Добавлю.
я имею в виду приложения, которые прикидываются ;D Галактикой и общаются с ней.
я имею в виду приложения, которые прикидываются ;D Галактикой и общаются с ней.
Re: Udp - сообщения
Я думаю, об этом механизме могут рассказать только разработчики.
Во всяком случае, я об этом вообще нигде не слышал, просто, когда прослушивал порты, увидел, что клиенты галактики общаются друг с другом, причем даже если ничего в галактике не делать, то она все-равно, через каждые 30 секунд посылает запросы. А главное, эти запросы идут не всем клиентам, а только некоторым, каждый раз разным. Логики в этих запросах я не увидел, а наши внедренцы, об этом даже не слышали.
Во всяком случае, я об этом вообще нигде не слышал, просто, когда прослушивал порты, увидел, что клиенты галактики общаются друг с другом, причем даже если ничего в галактике не делать, то она все-равно, через каждые 30 секунд посылает запросы. А главное, эти запросы идут не всем клиентам, а только некоторым, каждый раз разным. Логики в этих запросах я не увидел, а наши внедренцы, об этом даже не слышали.
Re: Udp - сообщения
udp используется исключительно для корректной работы утилиты "консоль администратора", для посылки сообщений. Если ее нет, то и заморачиваться на этот счет не стОит.
Re: Udp - сообщения
Почему исключительно для консоли? А зачем консоли знать о модификации данных?
Можно запустить две Галактики, подключенные к одной базе, и удалить в одной накладную, она сразу пошлет сообщение (даже в локале, без сети), и другой экземпляр, если у него было открыто окно с накладными, при перемещении курсора, уже не покажет эту накладную! Вот в чём соль.
Сообщение имеет такой вид:
тип действия (0 - вставка записи, 1 - изменение,2 - удаление);
кодовый номер таблицы, в которой производится действие, из таблицы x$file;
Btrieve'ский ID записи.
Это для Btriev'a.
Или, может быть, я что то не понял? Причем тут консоль?
Можно запустить две Галактики, подключенные к одной базе, и удалить в одной накладную, она сразу пошлет сообщение (даже в локале, без сети), и другой экземпляр, если у него было открыто окно с накладными, при перемещении курсора, уже не покажет эту накладную! Вот в чём соль.
Сообщение имеет такой вид:
тип действия (0 - вставка записи, 1 - изменение,2 - удаление);
кодовый номер таблицы, в которой производится действие, из таблицы x$file;
Btrieve'ский ID записи.
Это для Btriev'a.
Или, может быть, я что то не понял? Причем тут консоль?
Re: Udp - сообщения
А влияет ли установка параметра
[Network]
UpdateTable
(Разрешение отправки сообщений об изменении в таблице)
на генерацию этих сообщений?
[Network]
UpdateTable
(Разрешение отправки сообщений об изменении в таблице)
на генерацию этих сообщений?
Re: Udp - сообщения
Да, влияет. По умолчанию параметр = On
Re: Udp - сообщения
Антон, а что будет если поставать
Network.UpdateTable=off?
Запросы широковещательные?
Network.UpdateTable=off?
Запросы широковещательные?
Re: Udp - сообщения
Я нашел описание сетевого взаимодействия, но не совсем разобрался. Пока проблема стоит в написании сетевого клиента, но это поправимо При настройке Network.UpdateTable=off сообщения НЕ рассылаются экземплярами.
А в каком смысле широковещательные? Бродкастинг есть, по всем пользователям базы (из таблы activeusers), при изменении таблицы все они получают соответствующее сообщение. Если сеть раскидана по сегментам, с соответствующей маршрутизацией, то, надо полагать, сообщения пойдут только тем пользователям, кому они нужны. Я это так понимаю. Если сеть IPX, то сообщения точно широковещательные. Но все равно большого флудинга от них нет, если тебя это беспокоит.
С уважением, Антон Головань.
А в каком смысле широковещательные? Бродкастинг есть, по всем пользователям базы (из таблы activeusers), при изменении таблицы все они получают соответствующее сообщение. Если сеть раскидана по сегментам, с соответствующей маршрутизацией, то, надо полагать, сообщения пойдут только тем пользователям, кому они нужны. Я это так понимаю. Если сеть IPX, то сообщения точно широковещательные. Но все равно большого флудинга от них нет, если тебя это беспокоит.
С уважением, Антон Головань.