Информационный сайт

 

Реклама
bulletinsite.net -> Книги на сайте -> Программисту -> Дейтел Х.М. -> "Технологии профаммирования на Java 2 Книга 2" -> 35

Технологии профаммирования на Java 2 Книга 2 - Дейтел Х.М.

Дейтел Х.М. , Дейтел П.Дж., Сантри С.И. Технологии профаммирования на Java 2 Книга 2 — М.: Бином-Пресс, 2003. — 468 c.
ISBN 5-9518-0051-Х
Скачать (прямая ссылка): tehprogrammjava220032.pdf
Предыдущая << 1 .. 29 30 31 32 33 34 < 35 > 36 37 38 39 40 41 .. 204 >> Следующая

76 Глава 2
может осуществлять доступ ко всем портам , начиная с порта 1024 компьютера
и выше. Не забудьте заменить имя_компьютера на соответствующее доменное имя или EP-адрес компьютера, на котором выполняется Web-сервер и демон активации RML Приложение ChatServer Administrator также требует полномочий типа Ja-va.lang.RuntimePermission для setFactory, которое позволяет классу ActivationGroup устанавливать менеджер безопасности SecurityManager.
1 // разрешение ChatServerAdministrator соединяться
2 // с демоном активации
3 grant {
4 permission Java.net.SocketPermission "hostname:1024-",
5 "connect, accept, resolve"; 6
7 permission java.lang.RuntimePermission "setFactory";
8 );_
Рис. 2.27. Файл политики для приложения ChatServerAdministrator
Приложение ChatServerAdministrator регистрирует группу активации ActivationGroup для активируемого объекта ChatServer, а затем осуществляет выход. Клиенты после этого могут осуществлять доступ к объекту ChatServer, получая удаленную ссылку на объект ChatServer из реестра RMI и вызывая методы по этой удаленной ссылке. Имейте в виду, что сервер ChatServer не начнет выполняться до тех пор, пока клиент не вызовет метод удаленного объекта ChatServer.
В этот момент система активации активирует группу ActivationGroup сервера ChatServer. Чтобы запустить клиент для ChatServer, введите следующую команду в командной строке:
Java -Djava.security.policy=client.policy
com.deitel-messenger.rmi. client.DeitelMessenger
где client.policy — файл политики, представленный на рис. 2.28. Этот файл политики позволяет клиенту соединяться, принимать соединения и разрешать соединения с указанным компьютером через порты с номерами 1024 и выше. Напомним, что клиент сам является удаленным объектом, поэтому клиент должен быть способен принимать входящие сетевые соединения от сервера ChatServer. Не забудьте заменить hostname на имя компьютера или ГР-адрес компьютера, на котором выполняется сервер ChatServer.
1// разрешение клиенту соединяться с сетевыми ресурсами
2 // компьютера по портам, номера которых превышают 1024
3 grant {
4 permission java.net.SocketPermission "hostname:1024-",
5 "connect, accept, resolve";
6 );_:_
Рис. 2.28. Файл политики для клиента DeitelMessenger
На рис. 2.29 представлен пример диалога в Deitel Messenger. Обратите внимание, что элементы пользовательского интерфейса надлежащим образом отражают текущее состояние соединения, — когда клиент отсоединен, разрешено только действие ConnectAction (установить соединение). После соединения клиента становятся доступными действие DisconnectAction (разорвать соединение), область JTextArea для ввода сообщения и действие SendAction (отправить). Заметьте, что внизу каждого окна отображается сообщение Java Applet Window. Виртуальная машина помещает это сообщение в окно, поскольку приложение выполняется с ограничениями по безопасности.
Удаленный вызов методов
77
5еап> Se:
>aui» Paul joined chat і an • Hi Paul ІРаиІ» Hey Sean llsean- Hnr you seen Harvey?
Paul- No.
Sean> OK. ill дм htm a call. Taft ю you later.
Sean» Sean joined chat ЙРзиі» Paul «med cftsi Sean> Hi Paul 'aut» Hey Sean Bean> HeveyuuseenHaivey? Paul* No
Sean» OK ill gr*e him a call. Talk to you laler. 5ean> Sean eiiled chat
i
Рис. 2.29. Образец диалога с помощью приложения DeitelMessenger
78
Глава 2
2.7. Ресурсы в Internet и во Всемирной паутине
java. sun ¦ com/products/j dJc/rmi/index. html
Основная страница Sun по технологии Remote Method Invocation (RMI), где предоставлены ссылки на технические статьи, документацию и другие ресурсы, java.sun.com/ j2se/l.3/docs/guide/xmi/index.html
Руководство no RMI от Sun, которое содержит ссылки на учебный материал по построению активируемых удаленных объектов и другие полезные ресурсы, www.jguru.com/faq/home.jsp?tcpic=RMI
Часто задаваемые вопросы и ответы на них (FAQ) на сайте jGuru по RMI, а также советы разработчикам по применению RMI. www.javaworld. com/javaworld/topicalindex/jw-ti-rmi.html
Список статей JavaWorld, имеющих отношение к RMI. Статьи затрагивают такие темы, как активируемые объекты RMI, интеграцию RMI и CORBA, другие связанные с RMI технологии, такие как Jini.
Резюме
• RMI дает возможность объектам Java, выполняющимся на разных компьютерах или в разных процессах, взаимодействовать друг с другом посредством удаленных вызовов методов. Такие вызовы методов представляются программисту такими же, как операции над объектами в той же программе.
• Технология RMI основана на более ранней технологии процедурного программирования под названием RPC (Remote Procedure Calls), разработанной в 80-е годы.
• RMI дает возможность программам на Java передавать объекты Java с помощью механизма сериализации объектов Java. Программисту не нужно заботиться о том, как данные передаются через сеть.
• Для взаимодействий между приложениями Java и приложениями, разработанными на других языках программирования, можно воспользоваться языком Java IDL (введенном в Java 1.2) или RMI-ПОР. Java IDL и RMI-IIOP дают возможность приложениям и аппле-там, написанным на Java, взаимодействовать с объектами, написанными на любом языке, поддерживающем архитектуру CORBA (Common Object Request Broker Architecture).
Предыдущая << 1 .. 29 30 31 32 33 34 < 35 > 36 37 38 39 40 41 .. 204 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100