На каком порту FB работает с Event'ами?

Установка базовых дистрибутивов, создание своих, распространение, установка автоматически и "вручную", файлы, необходимые для создания дистрибутивов.

Модераторы: kdv, Alexey Kovyazin

Ответить
Aleksandr.
Сообщения: 63
Зарегистрирован: 18 май 2005, 19:13

На каком порту FB работает с Event'ами?

Сообщение Aleksandr. » 20 ноя 2006, 15:37

Про 3050 я вроде врубился, заставляю юзеров открывать при установке программы его в брандмаурере. Но что-то не допонял, по какому порту работают эвенты - вроде как по какому-то другому?

dimitr
Разработчик Firebird
Сообщения: 888
Зарегистрирован: 26 окт 2004, 16:20

Сообщение dimitr » 20 ноя 2006, 20:47

по случайному. В некоторых случаях можно настроить явно.

Aleksandr.
Сообщения: 63
Зарегистрирован: 18 май 2005, 19:13

Сообщение Aleksandr. » 21 ноя 2006, 05:52

В каких? Как его можно задать явно и с какими ограничениями?

dimitr
Разработчик Firebird
Сообщения: 888
Зарегистрирован: 26 окт 2004, 16:20

Сообщение dimitr » 21 ноя 2006, 09:25

RemoteAuxPort в конфиге. Не будет работать, если у тебя классик.

Aleksandr.
Сообщения: 63
Зарегистрирован: 18 май 2005, 19:13

Сообщение Aleksandr. » 21 ноя 2006, 12:06

У меня суперсервер. И что, получается, что без задания этого параметра в конфиге юзер должен вообще брандмаурер вырубать, чтобы FB мог работать с эвентами на том порту, на котором ему заблагорассудится?

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 21 ноя 2006, 12:26

RemoteAuxPort конфигурируется ДЛЯ СУПЕРСЕРВЕРА. И да, без задания этого параметра, увы, firewall придется вырубать.

Aleksandr.
Сообщения: 63
Зарегистрирован: 18 май 2005, 19:13

Сообщение Aleksandr. » 21 ноя 2006, 12:53

Забубись. Соответственно, для компонент, работающих с эвентами, нада отдельное подключение делать с указанием этого порта, типа myserver/eventport:dbpath?

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 21 ноя 2006, 14:18

нет. собственно, а где там у IBEvent свойства для указания подключения? :) IBEvent подключается только к тому IBDatabase, который нужен.

Aleksandr.
Сообщения: 63
Зарегистрирован: 18 май 2005, 19:13

Сообщение Aleksandr. » 21 ноя 2006, 16:34

Ясна, хотя механизм мне непонятен. Где можно почитать об этом, не подскажете?

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 21 ноя 2006, 17:19

механизм чего непонятен? есть синхронные и асинхронные события. для приема асинхронных событий на сервере регистрируется callback. соответственно, в момент работы основного коннекта клиент обязан получить событие. При регистрации на события организуется доп. коннект, по которому события и перемещаются от сервера к клиенту.

Aleksandr.
Сообщения: 63
Зарегистрирован: 18 май 2005, 19:13

Сообщение Aleksandr. » 22 ноя 2006, 21:41

Мне непонятно, каким образом идет пересылка эвентов через порт. Программа разделена на две части: серверную и клиентскую, между собой они обмениваются вызовом хранимой процедуры, которая, в свою очередь, вызывает POST_EVENT. Последовательность такая:
1. клиент делает запись в таблицу и посылает событие, зарегистрированное серверной частью, после чего переходит в режим ожидания.
2. Серверная часть, поймав событие, обрабатывает запись и посылает свое событие, зарегистрированное на клиентах.
Было замечено, что подключаемые по локальной сети клиентские части выходят из режима ожидания (получают событие от сервера) только после того, как эта цепочка действий отработает с клиентом, запущенном на том же компе, что и сервер FB. То есть по локальной сети соединение с базой доступно, события от серверной части клиенты ловят, но вызов события клиентом "теряется". Вот и хочу понять, почему и где.

Aleksandr.
Сообщения: 63
Зарегистрирован: 18 май 2005, 19:13

Сообщение Aleksandr. » 23 ноя 2006, 17:00

Простите, теряется эвент, вызываемый Сервером, а не клиентом. До клиентов в локальной сети событие не доходит.

Ответить