"Yuri Grabar" <[EMAIL PROTECTED]> wrote:
DY> Сервер слушает порт, клиент к нему подключается. Никакой разницы между
DY> главным портом и ивентами, кроме процесса-листенера.
А какой он порт слушает? Как клиент узнает о том, какой порт для эвентов
слушает сервер?
- клиент: "хочу слушать ивенты" (запрос по основному порту)
- сервер: "ради бога, порт N" (ответ по основному порту)
- клиент: "подключился, работаем" (коннект на новый порт)
И ? Эвенты идут совершенно асинхронно?
Конечно.
Кто ж их асинхронно получит (потому как в разных потоках использовать один
коннект к базе нельзя, а открывать всегда два коннекта один для работы,
другой для эвентов вряд ли кто-то будет)?
Клиент держит два открытых порта к серверу. Для асинхронного приема ивентов
внутрях клиента стартуется поток, который и дергает твою AST.
Кто мешает к пакету пристегнуть необязательную информацию типа "вот тебе
эвенты еще кроме того, что просил".
Если у меня часовая процедура выполняется на сервере - мне ждать ее
окончания, чтобы ивент получить? Нафиг-нафиг.
эвенты в сегодняшнем виде скорее мертвы, чем живы...
Не спорю.
--
Дмитрий Еманов