Лабораторная работа: Реализация почтового клиента и сервера на основе CORBA

String name = «Hello»;

NameComponent path[] = ncRef.to_name(name);

ncRef.rebind (path, href);

System.out.println («HelloServer ready and waiting…»);

// wait for invocations from clients

orb.run();

}

catch (Exception e) {

System.err.println («ERROR:» + e);

e.printStackTrace (System.out);

}

System.out.println («HelloServer Exiting…»);

}

}

6.1.3 Создание клиента

Перейдем к написанию кода для клиента.

Основные шаги написания клиентского приложения

1. Создание и инициализация ORB

2. Получение контекста службы имен (NamingContext)

3. Нахождение удаленного объекта

4. Вызов метода sayHello.

5. Вызов метода shutdown.

Как видно, первые два пункта совпадают с этапами создания серверного приложения, поэтому рассматривать их не будем.

Третий пункт реализуется тоже достаточно просто. Создается объект NameComponent. Вызывается метод resolve (NameComponent[] path), который отыскивает по имени удаленный объект (стандартный CORBA‑объект). При помощи метода narrow (org.omg.CORBA. Object obj) класса helloHelper (сгенерированного idlj компилятором) получаем объектную ссылку на интерфейс hello.

String name = «Hello»;

helloImpl = HelloHelper.narrow (ncRef.resolve_str(name));

Теперь можно вызывать метод sayHello:

System.out.println (helloImpl.sayHello());

Метод shutdown завершает работы сервера.

helloImpl.shutdown();

К-во Просмотров: 288
Бесплатно скачать Лабораторная работа: Реализация почтового клиента и сервера на основе CORBA