Чтение онлайн

на главную - закладки

Жанры

Шрифт:

Интерфейс OutputConnection является еще одним подинтерфейсом Connection. Он работает с исходящими потоками и также определяет содержимое своих потоков как байтовые данные. Его методы показаны в таблице 8.2. Вы должны использовать этот интерфейс при записи байтовых данных в удаленный ресурс.

С помощью этих двух интерфейсов вы можете затем интерпретировать входящий или выходящий поток данных ресурса как последовательность необработанных байтов, анализируя их с помощью методов интерфейсов Datalnput или DataOutput. Конечно, вы должны знать формат данных, посылаемых устройством, или формат, ожидаемый устройством, соответственно. Другими словами,

не существует абстракции данных, которая устраняет необходимость знать синтаксис и семантику данных в InputConnection или OutputConnection.

Таблица 8.2. Методы интерфейса OutputConnection

Имя метода OutputConnection — Описание

DataOutputStream openDataOutputStream  — Открывает и возвращает DataOutputStream, который соединяется с сетевым ресурсом, связанным с этим соединением.

OutputStream openOutputStream  — Открывает и возвращает OutputStream, который соединяется с сетевым ресурсом, связанным с этим соединением.

Потоковые соединения

Интерфейс StreamConnection происходит непосредственно из интерфейсов InputConnection и OutputConnection. Он наследует методы двух интерфейсов, описанных ранее в таблицах 8.1 и 8.2.

Интерфейс StreamConnection представляет соединение как поток данных в наиболее абстрактном смысле слова — как последовательность байтов. Это пустой интерфейс, он не привносит нового поведения в дополнение к любому из его двух вышестоящих интерфейсов. Тем не менее, его присутствие в иерархии необходимо для целей, лежащих за пределами обязанностей интерфейсов InputConnection и OutputConnection. Он работает как заполнитель, представляющий любой тип соединения, чьи данные могут быть обработаны как поток байтов.

Интерфейс StreamConnection извлекает подробную информацию о механизме соединения — протоколе, используемом в реализации определенного типа соединения, а также его синтаксисе и семантике. Например, J2ME Wireless Toolkit предоставляет две реализации StreamConnection — одну для соединения с портами связи, а другую для соединения с сокетами клиентов стиля Unix. Интерфейс StreamConnection определяет оба этих типа соединения как необработанные потоки данных без определения синтаксиса или семантики протокола. Реализации, однако, совершенно отличны. В данном разделе вы увидите, как настраивать соединение с коммуникационным портом. Затем вы узнаете, как настраивать соединение сокета.

Соединения с коммуникационными портами, как и все другие соединения, должны быть установлены путем передачи URI в Connector.open. Вы должны указать адрес порта связи, который вы хотите открыть. Поле схемы должно иметь значение соггап, которое определяет соединение как потоковое соединение для коммуникационных портов. Полная форма адреса следующая:

address:= <схема>:<уэел>;

<параметры> cheme:= «coram»

unit:= <integer, представляющая открываемый порт eomn>

parameters:= <зависящие от устройства параметры конфигурации>

Например, вы могли открыть соединение с коммуникационным портом с помощью следующего оператора:

StreamConnection conn = Connector.open("comm:0;baudrate=9600");

Полный

набор параметров, которые приемлемы, зависит от родной системы программного обеспечения драйвера устройства, и, в конечном счете, конечно, на устройстве, с которым соединение было установлено.

Соединения содержимого соединений

Интерфейс ContentConnection дополняет интерфейс StreamConnection. Он уточняет понятие потокового соединения. Он определяет соединения, включающие содержимое, вместо представления их как простого потока необработанных байтов или потока, чья структура должна быть отмечена как приоритетная (priori).

Конечно, все потоки содержат некоторого рода «содержимое», основная цель сообщений протокола заключается в транспортировке полезной нагрузки данными. Идея, лежащая в основе интерфейса ContentConnection, заключается в том, что он представляет соединения, которые могут описать свое содержимое некоторым образом, обычно с помощью наличия атрибутов метаинформации, определенных протоколом. Интерфейс ContentConnection предоставляет подробную информацию об извлечении этой информации из потока, так что вам не придется знать синтаксис или семантику протокола реализации.

Интерфейс ContentConnection представляет собой общие характеристики семейства протоколов уровня приложений, которые обычно определяют атрибуты, описывающие транспортируемые ими данные. Более точно, ContentConnection определяет несколько базовых атрибутов, которые являются общими для всех таких соединений содержимого соединений. В таблице 8.3 перечислены три метода, определяемые ContentConnection. Вы можете видеть, как они применяются по отношению к семейству протоколов уровня приложений.

Таблица 8.3. Методы интерфейса ContentConnection

Имя метода ContentConnection — Описание

String getEncoding — Выдает значение поля, показывающего набор символов шифрования, используемых для представления содержимого сообщения

long getLength — Выдает длину сообщения

String getType — Выдает тип содержимого

Протоколы, которые могут быть представлены этим интерфейсом, обычно используют некоторого рода пометку атрибута, не зависящую от содержимого, которое они транспортируют. Примером такого протокола является протокол HTTP.

Неудивительно, что интерфейс ContentConnection имеет один подинтерфейс, HttpConnection, который представляет соединения, использующие протокол HTTP. Интерфейс HttpConnection определяется MIDP, а не CLDC. HTTP является протоколом содержимого соединений уровня приложений. Вы, несомненно, понимаете, что три метода интерфейса ContentConnection, перечисленные в таблице 8.3, применимы к HTTP.

Интерфейс HttpConnection расширяет эту абстракцию до более конкретного описания атрибутов соединений протокола HTTP. Он поддерживает передачу запросов и получение откликов, а также возможность извлекать и анализировать поля HTTP как для сообщения запроса, так и для ответа. Он также предусматривает возможность получения информации о самом соединении. В таблице 8.4 перечислены методы интерфейса HttpConnection.

Поделиться:
Популярные книги

Эволюционер из трущоб. Том 6

Панарин Антон
6. Эволюционер из трущоб
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Эволюционер из трущоб. Том 6

Замуж за принца

Блэквелл Элизабет
Любовные романы:
исторические любовные романы
8.53
рейтинг книги
Замуж за принца

Террор и демократия в эпоху Сталина. Социальная динамика репрессий

Голдман Венди З.
История сталинизма
Научно-образовательная:
история
5.00
рейтинг книги
Террор и демократия в эпоху Сталина. Социальная динамика репрессий

Газлайтер. Том 6

Володин Григорий Григорьевич
6. История Телепата
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Газлайтер. Том 6

Любовь… и еще раз любовь (Сборник)

Морган Рэй
Любовные романы:
короткие любовные романы
7.62
рейтинг книги
Любовь… и еще раз любовь (Сборник)

Чужак

Листратов Валерий
1. Ушедший Род
Фантастика:
попаданцы
аниме
фэнтези
5.25
рейтинг книги
Чужак

Одиссея самурая, Командир японского эсминца

Хара Тамеичи
Документальная литература:
биографии и мемуары
5.00
рейтинг книги
Одиссея самурая, Командир японского эсминца

Эдуард Стрельцов

Галедин Владимир Игоревич
1668. Жизнь замечательных людей
Проза:
историческая проза
5.00
рейтинг книги
Эдуард Стрельцов

Антракт. Поминки. Жизнеописание. Шатало

Эдлис Юлиу
5.00
рейтинг книги
Антракт. Поминки. Жизнеописание. Шатало

Избранные письма. Том 2

Немирович-Данченко Владимир Иванович
Документальная литература:
публицистика
5.00
рейтинг книги
Избранные письма. Том 2

Моряк с Балтики

Теннов Владимир Павлович
Документальная литература:
биографии и мемуары
5.00
рейтинг книги
Моряк с Балтики

Я еще царь. Книга XXX

Дрейк Сириус
30. Дорогой барон!
Фантастика:
юмористическое фэнтези
аниме
попаданцы
5.75
рейтинг книги
Я еще царь. Книга XXX

Тринадцатый

NikL
1. Видящий смерть
Фантастика:
фэнтези
попаданцы
аниме
7.33
рейтинг книги
Тринадцатый

Тринадцатый IV

NikL
4. Видящий смерть
Фантастика:
боевая фантастика
попаданцы
6.25
рейтинг книги
Тринадцатый IV