потому что вот сейчас смотрю в IB2009 и вижу, что отдельный коннект - как был, так и есть.
ничем не отличается от FB.
Так же номер порта в протоколе передается, на том же месте...
одинаковый алгоритм работает и для FB 2.0 и для IB2009

   А клиента ты какого при этом пользуешь ?


Внимательно проверил.
Точно используется gds32.dll от IB2009 (9.0.3.437)
Положил ее в каталог проекта, и с помощью filemon убедился, что цепляется именно этот файл. Кроме того, в FBScanner вижу, что клиент с сервером договорились о 15ом протоколе.

Посмотрел в process explorer - создается обыкновенный, такой же, как у FB - отдельный TCP-коннект.

Продолжил эксперимент: подсунул fbclient (переименнованный в gds32) от FB2.0.5
FBScanner подтвердил, что используется 10ый протокол.
Все точно так же: создался отдельный коннект, эвенты зарегистрировались, имена эвентов так же видно. Причем при вызове UnRegisterEvents() / RegisterEvents() в FBS видно, как евенты исчезают и снова регистрируются.

Так что все работает, работает верно, работает одинаково на FB и IB.
UnRegisterEvents() TCP коннект не закрывает, и это так и задумано.
Всем спасибо. :-)


Ответить