Delphi | Сети | ПК | Маршрутизаторы | Моделирование | Протоколы | Экспертные системы | Удаленный доступ | Доменные имена
Аплеты | SQL | Надежность | Задачи | Информационные процессы | JAVA | Отказы изделия | Расчет надежности показателей | Инфсис

Апплеты в Java

Любой апплет, который вы создаете, представляет собой производный класс от стандартного класса Applet. В нашем апплете переопределяется только один метод - paint (перерисовка окна). В качестве параметра он получает графический контекст окна. Метод paint вызывается автоматически каждый раз, когда апплет нуждается в перерисовке. Для принудительной перерисовки следует вызывать метод repaint без параметров, который сам вызовет метод paint.

Защита от апплета

Браузер может вообще отказаться от загрузки апплетов. В Netscape Communicator это делается с помощью флажка Enable Java в окне, вызываемом командой Edit | Preferences | Advanced, в Internet Explorer — в окне после выбора команды Tools | Internet Options | Security. В таком случае говорить в этой книге больше не о чем.

Если браузер загружает апплет, то создает ему ограничения, так называемую "песочницу" (sandbox), в которой резвится апплет, но выйти из которой не может. Каждый браузер создает свои ограничения, но обычно они заключаются в том, что апплет:

Браузеры могут усилить или ослабить эти ограничения, например, разрешить локальным апплетам, загруженным с той же машины, где они выполняются, доступ к файловой системе. Наименьшие ограничения имеют доверенные (trusted) апплеты, снабженные электронной подписью с помощью Классов ИЗ пакетов java.security.*.

При создании приложения, загружающего апплеты, необходимо обеспечить средства проверки апплета и задать ограничения. Их предоставляет класс securityManager. Экземпляр этого класса или его наследника устанавливается в JVM при запуске виртуальной машины статическим методом setSecurityManager(SecurityManager sm) класса System. Обычные приложения не могут использовать данный метод.

Каждый браузер расширяет класс SecurityManager по-своему, устанавливая те или иные ограничения. Единственный экземпляр этого класса создается при запуске JVM в браузере и не может быть изменен. Пример 3. Простейший клиент. Он подключается к порту 8190 хоста localhost, принимает одно сообщение (строку) и отправляет одно сообщение (строку), и на этом прекращает работу.

Основные действия, которые выполняются в этой программе:

1) создание клиентского сокета

Socket mySock = new Socket("localhost",8190);


2) создание входного потока для сокета

BufferedReader in =
new BufferedReader(
new InputStreamReader(mySock.getInputStream()));


3) создание выходного потока для сокета

PrintWriter out =
new PrintWriter(mySock.getOutputStream(), true);


4) чтение строки из входного потока

str=in.readLine();


5) запись строки в выходной поток

out.println("Done");


Задание для самостоятельной работы

1. Рассмотрите более подробно классы Socket и ServerSocket.
2. Рассмотрите самостоятельно пример реализации чат-сервера. Чат-сервер - это программа, которая запущена на некотором порте некоторого хоста и находится в режиме ожидания подключений со стороны клиентов

 

Математический анализ, лекции по физике Компьютерные сети