Порядок инициализации системы оповещений
После того как Юзер зарегистрировался в SVA из SY_ControlPanel вызывается
SY_MG_ToolBar.SY_MG_INIT, который создает ссылку на обьект драйвера
Set SY_MainMDI.NET_Listener = New SVA_NETWORK.SVA_Client,
SQL читает из INI-файла конфигурацию TCP/IP прокси-сервера и далее вызывает SVA
процедуру SQL-сервера SY_MG_Connect, в которой сообщает о себе следующее:
@Currentuser, CurrentUser, "@EID", EID, "@IP", ProxyIP, "@Port", ProxyPort + CurrentUser
SY_MG_Connect возвращает номер коннекта (фактически номер записи в SY_MG_ConnectTab),
который позволяет корректно поставить в этой таблице время завершения сеанса.
Числа 1,2,3,4 - возвращенные этой процедурой имеют специальное значение - сообщают, что
драйвер TCP/IP на SQL-сервере не загрузился.
Если драйвер на SQL-сервере загрузился, ссылка на обькт драйвера в SVA создалась и установлен
режим работы по оповещениям, то далее в Start_Net_Listener инициализируется работа драйвера.
Если установлен режим работы драйвера по опросам, то драйвер можно проверять из отдельной формы.
SQLSENDER.SQL_Sender PROXY-SERVER NET_Listener
INIT(ProxyIP, ProxyPort + CurrentUser)
SY_MG_SEND 'Load'
SY_MG_SEND 'Start' CONNECT
SY_MG_SEND 'Connect'
SY_MG_SEND 'Write' READ
после выполнения READ,
При первичном коннекте через в драйвере создается новый поток и
SY_MG_Connect передается ключ после возврата управления в SVA
"999", который означает, что за ним драйвер живет своей жизнью и
будут сразу передаватся номер порта, находясь в бесконечном цикле
номер юзера и побайтово Айпишнник, прослушки сообщений из сети при
на котором PROXY-Сервер будет ждать поступлении нового сообщения
коннекта от NET_Listener'а (возможно вызывает событие в SVA
на различных интерфейсах компа).
При получении этого
ключа от SQL_Sender'а PROXY-SERVER NET_Listener_MyEvent
создает на внешнем интерфейсе
(обращенном к NET_Listener'у) новый
открытый порт и новый обьект, который Обработчик события находится в
постоянно выбирает из очереди, SY_MainMDI (по месту определения
поступающей для передачи от обькта Public WithEvents NET_Listener
SQL_Sender'а сообщения и передает
их NET_Listener'у. При получении оповещения вызывается
Новый открытый порт инициализируется SY_MGToolbar (та же, что вызывается
в PROXY-SERVER'е при коннекте к нему и по таймеру в режиме работы по опросам)
NET_Listener'а
SY_MG_ProxyParm PROXY.exe.config APP.INI
Итак - до начала работы состояние портов - SY_MG_INIT_1.gif
После успешной инициализации - SY_MG_INIT_2.gif