Создание сетевых приложений РљРѕРіРґР° РјС‹ начинали разговор РїСЂРѕ язык программирования Java, то отмечали, что РѕРЅ специально ориентирован РЅР° глобальные сети, такие как Internet. Р’ этой главе РјС‹ начнем знакомство СЃ конкретными классами Java, разработанными для сетевого программирования. РќР° примере наших приложений РІС‹ сможете убедиться, что классы Java действительно очень СѓРґРѕР±РЅС‹ для создания сетевых приложений. Р’ этой главе РјС‹ рассмотрим РґРІР° аспекта сетевого программирования. Первый РёР· РЅРёС… касается доступа РёР· приложений Java Рє файлам, расположенным РЅР° сервере Web, второй - создания серверных Рё клиентских приложений СЃ использованием сокетов. Напомним, что РёР· соображений безопасности алпетам полностью запрещен доступ Рє локальным файлам рабочей станции, подключенной Рє сети. Тем РЅРµ менее, аплет может работать СЃ файлами, расположенными РЅР° серверах Web. РџСЂРё этом можно использовать входные Рё выходные потоки, описанные нами РІ предыдущей главе. Для чего аплетам обращаться Рє файлам сервера Web? Таким аплетам можно найти множество применений. Представьте себе, например, что вам нужно отображать Сѓ пользователя диаграмму, исходные данные для построения которой находятся РЅР° сервере Web. Рту задачу можно решить, РіСЂСѓР±Рѕ РіРѕРІРѕСЂСЏ, РґРІСѓРјСЏ способами. Первый заключается РІ том, что РІС‹ создаете расширение сервера Web РІ РІРёРґРµ приложения CGI или ISAPI, которое РЅР° основании исходных данных динамически формирует графическое изображение диаграммы РІ РІРёРґРµ файла GIF Рё посылает его пользователю. Однако РЅР° пути решения задачи СЃ помощью расширения сервера Web вас поджидают РґРІРµ неприятности. Р’Рѕ-первых, создать РёР· программы красивый цветной графический файл РІ стандарте GIF РЅРµ так-то просто - РІС‹ должны разобраться СЃ форматом этого файла Рё создать РІСЃРµ необходимые заголовки. Р’Рѕ-вторых, графический файл занимает РјРЅРѕРіРѕ места Рё передается РїРѕ каналам Internet достаточно медленно - средняя скорость передачи данных РІ Internet составляет 1 Кбайт РІ секунду. Р’ то же время файл СЃ исходными данными может быть очень компактным. Возникает РІРѕРїСЂРѕСЃ - нельзя ли передавать через Internet только исходные данные, Р° построение графической диаграммы выполнять РЅР° рабочей станции пользователя? Р’ этом заключается второй СЃРїРѕСЃРѕР±, который предполагает применение аплетов. Ваше приложение может, например, получать через сеть файл исходных данных, Р° затем РЅР° основании содержимого этого файла рисовать РІ своем РѕРєРЅРµ цветную РєСЂСѓРіРѕРІСѓСЋ диаграмму. Объем передаваемых данных РїСЂРё этом РїРѕ сравнению СЃ использованием расширения сервера Web сокращается РІ десятки Рё сотни раз. РџРѕРјРёРјРѕ работы СЃ файлами, расположенными РЅР° сервере Web, РјС‹ расскажем Рѕ создании каналов между приложениями Java, работающими РЅР° различных компьютерах РІ сети, СЃ использованием сокетов. Сокеты позволяют организовать тесное взаимодействие аплетов Рё полноценных приложений Java, РїСЂРё котором аплеты РјРѕРіСѓС‚ предавать РґСЂСѓРі РґСЂСѓРіСѓ данные через сеть Internet. Рто открывает широкие возможности для обработки информации РїРѕ схеме клиент-сервер, причем РІ роли серверов здесь может выступать любой компьютер, подключенный Рє сети, Р° РЅРµ только сервер Web. Каждая рабочая станция может выступать одновременно Рё РІ роли сервера, Рё РІ роли клиента. |