1 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. Java 2 Micro Edition Лаборатория информационных технологий (ИТЛаб) При поддержке фирмы.

Презентация:



Advertisements
Похожие презентации
1 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. Java 2 Micro Edition Лаборатория информационных технологий (ИТЛаб) При поддержке фирмы.
Advertisements

1 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. Java 2 Micro Edition Лаборатория информационных технологий (ИТЛаб) При поддержке фирмы.
Низкоуровневые операции в ИС. Сокеты в C#. Понятие сокета Если требуется получить доступ к сетевым операциям низкого уровня, в программе следует использовать.
Работа с сетью Java Advanced. 2Georgiy KorneevJava Advanced / Работа с сетью Содержание Введение Адреса TCP-сокеты UDP-сокеты URI и URL Соединения Заключение.
Сокеты Сети и системы телекоммуникаций Созыкин А.В.
Корпоративные системы Лекция 3. Реализация архитектуры «Клиент- сервер» с использованием механизма сокетов.
Сокеты TCP/IP Лекция Понятие сокета Если требуется получить доступ к сетевым операциям низкого уровня (класс URL обеспечивает выполнение только.
UDP сокетыUDP сокетыПротокол пользовательских дейтаграмм(UDP) Протокол UDP намного проще, чем ТСР; он полезен в ситуациях, когда мощные механизмы обеспечения.
Работа протоколов стека TCP/IP Борисов В.А. КАСК – филиал ФГБОУ ВПО РАНХ и ГС Красноармейск 2011 г.
©Павловская Т.А. (СПбГУ ИТМО) Курс «С#. Программирование на языке высокого уровня» Павловская Т.А.
СОКЕТЫ. СОКЕТ Сокет – программный интерфейс для обеспечения обмена данными между процессами. Впервые socket API появилась в BSD Unix. Описан в POSIX В.
Работа с файлами Сазонов Д.О. ПМиЭММ Часть 2. Тема занятия: Работа с файлами через потоки Для реализации файлового ввода/вывода, необходимо включить в.
СОЗДАНИЕ И ИНИЦИАЛИЗАЦИЯ СОКЕТА Методическое пособие по дисциплине «Программное обеспечение компьютерных сетей и информационных систем»
Язык программирования Java Андрей Дмитриев ©2009.
Компьютерные технологии в метеорологии (Java-технологии) Чукин В. В.
Основы ООП и C# Работа с объектами и классами. Классы Класс специальный тип данных для описания объектов. Он определяет данные и поведение типа. Определение.
Практическое занятие 6. Функции. Большинство языков программирования используют понятия функции и процедуры. C++ формально не поддерживает понятие процедуры,
Брандмауэр Информационные Технологии. Введение В повседневной жизни информация имеет стоимость, как материальную, так и моральную, поэтому её защита имеет.
Лабораторная работа 8. Файлы. Задание на лабораторную работу Добавить к программе из лабораторной работы 7 следующие действия: сохранение информации в.
Лекция 6 Лекция 6 Введение в обработку данных. Среда хранения и средства обработки информационных массивов. Эволюция и характеристика концепций обработки.
Транксрипт:

1 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. Java 2 Micro Edition Лаборатория информационных технологий (ИТЛаб) При поддержке фирмы Intel Проект ТЭЛМА Connected, Limited Device Configuration (CLDC) Жерздев С.В.

2 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. Специфические классы CLDC Библиотеки J2SE и J2EE обеспечивают богатую функциональность для обеспечения доступа к устройствам хранения и сетевым средствам. Пакет java.io.* J2SE содержит около 60 классов и интерфейсов и более 15 классов исключений. Пакет java.net.* J2SE состоит из примерно 20 обычных классов и 10 классов исключений. Общий объем файлов этих классов около 200 Кб.

3 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. Специфические классы CLDC Основная часть функциональности стандартного ввода-вывода и сетевых средств не применима к современным малым устройствам, которым часто приходится поддерживать нестандартные виды соединений, например, инфракрасный порт или Bluetooth, и при этом отсутствует поддержка стандартного TCP/IP. Требования по обеспечению сетевого доступа и поддержкке устройств хранения существенно изменяются от устройства к устройству. Устройство может быть ориентировано на сети с коммутацией пакетов или соединений.

4 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. Общая схема соединений Приведенные выше требования стали причиной обобщения классов J2SE, отвечающих за сеть и устройства хранения. Общая цель новой системы состояла в том, чтобы приблизится к функциональности классов J2SE, но обеспечить при этом лучшую расширяемость, гибкость и удобство при поддержке новых устройств и протоколов. Вместо использования набора различных типов абстракций для различных форм коммуникации, на уровне прикладного программирования используется набор универсальных конструкций.

5 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. Общая схема соединений Все соединения создаются с использованием одного статического метода системного класса Connector. В случае успеха, этот метод возвращает объект, реализующий один из обобщенных интерфейсов соединения. Метод принимает строковый параметр общего вида: Connector.open(" : ; ") Синтаксис этой строки в общем должен соответствовать синтаксису Uniform Resource Indicator (URI), как он определен в стандарте IETF RFC2396.

6 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. Общая схема соединений В самом CLDC не реализвано никаких протоколов. Также не ожидается, что профиль J2ME обеспечит поддержку всех типов соединений. Профили J2ME могут поддерживать протоколы, не перечисленные здесь. Connector.open(" Connector.open("socket:// :9000"); Connector.open("datagram:// "); Connector.open("file:/foo.dat"); Основная цель такого механизма - изолировать разницу между протоколами в строке, определяющей тип соединения.

7 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. Общая схема соединений На уровне реализации в процессе выполнения приложения строка до первого вхождения ':' информирует систему, какую реализацию протокола желательно применить. Этот механизм позднего связывания позволяет программе динамически переключаться между протоколами в процессе исполнения. Представление адреса зависит от конкретных протоколов и их реализации. Параметры задает дополнительные настройки соединения с помощью набора строковых выражений вида ";myParam=value".

8 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. Интерфейс Connection Наиболее общий тип соединения, который может быть только открыт и закрыт. Метод open не объявлен как public, поскольку всегда вызывается только через статический метод open() класса Connector. public void close() Закрывет соединение. На момент вызова метода соответствующие потоки могут оставаться открытыми. В этом случае закрытие соединения будет отложено до закрытия потоков, но доступ к соединению будет запрещен.

9 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. Интерфейс InputConnection Этот тип соединения представляет устройство, с которого могут быть прочитаны данные. Метод openInputStream этого интерфейса возвращает поток ввода для соединения. public InputStream openInputStream() public DataInputStream openDataInputStream()

10 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. Интерфейс OutputConnection Этот тип соединения представляет устройство, на которое могут быть записаны данные. Метод openOutputStream этого интерфейса возвращает поток вывода для соединения. public OutputStream openOutputStream() public DataOutputStream openDataOutputStream()

11 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. Интерфейс StreamConnection Это просто интерфейс, сочетающий интерфейсы InputConnection и OutputConnection.

12 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. Интерфейс ContentConnection Этот под-интерфейс от StreamConnection обеспечивает доступ к самым основным данным, предоставляемым HTTP соединениями. public String getType() Тип содержимого (поле content-type заголовка HTTP), получаемого по протоколу HTTP. public String getEncoding() Кодировка содержимого (поле content-encoding заголовка HTTP) или null. public long getLength() Объем содержимого (поле content-length заголовка HTTP) или -1, если объем не известен.

13 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. Интерфейс StreamConnectionNotifier Этот тип соединения используется для ожидания установки соединения. Метод acceptAndOpen этого класса будет приостановлен, пока клиентское приложение не установит соединение. Он возвращает StreamConnection, на котором было установлено соединение. Как и для всех других соединений, возвращенный поток следует закрыть по окончании использования. public StreamConnection acceptAndOpen()

14 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. Интерфейс DatagramConnection Этот интерфейс представляет дейтаграммную точку доступа. Адрес, используемый для открытия соединения будет использован как адрес получателя дейтаграммы. Например, инициализирующая строка datagram://:1234 создает соединение для приема датаграмм, строка datagram:// :1234 для отправки на указанный адрес.

15 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. Интерфейс DatagramConnection public int getMaximumLength() public int getNominalLength() Получить максимальный и номинальный размер датаграммы. public void send(Datagram datagram) public void receive(Datagram datagram) Послать/получить датаграмму.

16 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. Интерфейс DatagramConnection public Datagram newDatagram(int size) public Datagram newDatagram(byte[] buf, int size) public Datagram newDatagram(int size, String addr) public Datagram newDatagram(byte[] buf, int size, String addr) Создать объект Datagram. size - длина буфера для датаграммы, buf - буфер для датаграммы, addr - адрес, на который будет отправлена датаграмма. Этот класс требует типа данных Datagram, который используется для хранения буфера данных и ассоциированного с ним адреса.

17 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. Интерфейс Datagram Интерфейс Datagram содержит полезный набор методов доступа к буферу данных при получении/отправке датаграмм. Эти методы доступа соответствуют интерфейсам DataInput и DataOutput, т.е. дейтаграмма может обрабатываться как поток. Дополнительные методы: public String getAddress() Возвращает адрес датаграммы в строковом виде или null, если он не был задан.

18 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. Интерфейс Datagram public void setAddress(String addr) public void setAddress(Datagram reference) Устанавливает адрес датаграммы в виде строки или копирует его из другого объекта. Конкретный вид адреса зависит от используемого протокола. Если адрес не задан, используется адрес по умолчанию для данного соединения. public byte[] getData() public int getLength() public int getOffset() Получить буфер и длину данных, смещение.

19 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. Интерфейс Datagram public void setLength(int len) public void setData(byte[] buffer, int offset, int len) Установить данные датаграммы. public void reset() Обнулить точку чтения/записи, а также смещение и длину данных.