"Yuri Grabar" <[EMAIL PROTECTED]> wrote:

DY> Сервер слушает порт, клиент к нему подключается. Никакой разницы между
DY> главным портом и ивентами, кроме процесса-листенера.

А какой он порт слушает? Как клиент узнает о том, какой порт для эвентов слушает сервер?

- клиент: "хочу слушать ивенты" (запрос по основному порту)
- сервер: "ради бога, порт N" (ответ по основному порту)
- клиент: "подключился, работаем" (коннект на новый порт)

И ? Эвенты идут совершенно асинхронно?

Конечно.

Кто ж их асинхронно получит (потому как в разных потоках использовать один коннект к базе нельзя, а открывать всегда два коннекта один для работы, другой для эвентов вряд ли кто-то будет)?

Клиент держит два открытых порта к серверу. Для асинхронного приема ивентов внутрях клиента стартуется поток, который и дергает твою AST.

Кто мешает к пакету пристегнуть необязательную информацию типа "вот тебе эвенты еще кроме того, что просил".

Если у меня часовая процедура выполняется на сервере - мне ждать ее окончания, чтобы ивент получить? Нафиг-нафиг.

эвенты в сегодняшнем виде скорее мертвы, чем живы...

Не спорю.


--
Дмитрий Еманов


Ответить