corba — клиент OmniORB C ++. Невозможно подключиться к двум разным серверам

Мы разрабатываем C ++ CORBA-клиент, используя библиотеки omniORB.

Наше приложение должно подключаться к двум различным серверам, каждый из которых размещен на отдельной машине. Для достижения этого мы используем два CORBA::ORB_ptr переменные. Что забавно, наши программы работают правильно, когда мы подключаемся к одному серверу, независимо от того, какой, но когда один ORB_ptr активен, то попытка подключиться ко второму дает нам CosNaming::NamingContext::NotFound исключение.

0

Решение

Вам не нужно использовать переменные ORB для подключения к двум серверам, вам нужны две ссылки на объекты, по одной на каждый сервер, которые можно сделать с помощью одного ORB. Для обоих серверов вы должны извлечь ссылку на объект, например, из службы имен, сузить их до правильного типа и использовать их.

Проверьте книгу CORBA, например, см. http://www.ciaranmchale.com/corba-explained-simply или посмотрите примеры / тесты, которые поставляет дистрибутив.

0

Другие решения


По вопросам рекламы [email protected]