Страница 1 из 1

Про транзакции.

Добавлено: 05 май 2005, 15:54
_so_
Есть такай вопрос, кто-нибудь пробовал. При использовании одного конекта создавать много транзакций в различных нитках? Например с и спользованием IBX. Тогда таким образом можно было бы обойти вопрос покупки большого числа лицензий для IB при использовании трех звенки.

Добавлено: 05 май 2005, 16:58
Merlin
Оставь надежду, всяк сюда входящий (С). Один коннект - одна нить. Можно правда сделать аппсервер с сериализацией и пулом коонктов, то есть держать несколько коннектов, при обращении клиента ставить в очередь, при обслуживании очереди захватывать свободный в данный момент коннект. Но, насколько я помню лицензию, в ней оговорено, что речь идёт именно об одновременно работающих пользователях, а не о количестве коннектов, и под такой пул надо покупать unlimited internet лицензию.

Добавлено: 05 май 2005, 18:05
kdv
Тогда таким образом можно было бы обойти вопрос покупки большого числа лицензий для IB при использовании трех звенки.
мда. это я не к тому, что бесполезные попытки сэкономить, а к тому, что в сокете все равно параллельные операции невозможны. Ну не могут по проводу два пакета идти параллельно - обязательно идут сначала один, а потом второй. Потому получается сериализация. То есть, можно обрамить вызовы в одном коннекте мютексом или критической секцией, как сделано в IBProvider. Только это будет НЕПАРАЛЛЕЛЬНО. И соответственно, никак не годится для трехзвенки.

Про лицензию Merlin сказал совершенно правильно. Для трехзвенки покупается анлимитед, а для клиент-серверных - по числу компьютеров, одновременно работающих с сервером. Хотя по смыслу (физическому) эти лицензии никак не отличаются.

Добавлено: 05 май 2005, 18:17
_so_
Спасибо понял.