Java 2 Micro Edition (J2ME)


Дейтаграммные соединения и дейтаграммы - часть 4


В таблице 8.10 перечислены методы интерфейса Datagram. Обратите внимание, что они отражают только следующие понятия:

  • адрес - представляет адрес посылающего или принимающего объекта;
  • полезная нагрузка - дейтаграмма рассматривает данные как один непрозрачный объект без интерпретации его формы, структуры или типа.

Это минимальная информация, требуемая всеми пакетами. Все дейтаграммы должны устанавливать эту информацию для того, чтобы пересылка прошла успешно.

В интерфейсе Datagram отсутствует информация о синтаксисе или семантике полезной нагрузки. Причина этого заключается всего лишь в том, что дейтаграммы не определяют синтаксиса или семантики данных, которые они переносят. Дейтаграммы просто рассматривают свою полезную нагрузку как последовательность байтов. Полезная нагрузка дейтаграммы определяется просто как byte [].

Дейтаграмма может содержать любую информацию. Дейтаграммная служба определяет формат и содержимое ее дейтаграмм. Посылающее и получающее устройства должны создавать дейтаграммы таким образом, чтобы они придерживались этих определений. То есть byte [] должен быть правильно написан посылающим и правильно проанализирован принимающим устройством.

Интерфейс Datagram происходит из интерфейсов Datalnput и DataOutput в пакете java.io. Такое происхождение гарантирует наличие удобного интерфейса для чтения двоичных данных из дейтаграммы и записи в нее. На рисунке 8.4 показана иерархия происхождения интерфейса Datagram. В таблице 8.11 перечислены методы интерфейса Datalnput, а в таблице 8.12 перечислены методы интерфейса DataOutput. Эти интерфейсы идентичны интерфейсам пакета java.io J2SE.

Рисунок 8.4. Дейтаграмма определяет общие данные. Методы в этой иерархии интерфейсов поддерживают только низшую абстракцию, которая дает возможность манипулировать встроенными типами данных. Для полей, определяемых протоколом, абстракции не существует

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

Название метода интерфейса Datagram

Описание

String getAddress ()

Выдает адрес в данной дейтаграмме

byte [] getData()

Выдает буфер, содержащий полезную нагрузку дейтаграмм

int getLength()

Выдает длину полезной нагрузки дейтаграммы

int getOffsetO

Выдает смещение указателя для чтения/записи в буфере полезной нагрузки

void reset()

Восстанавливает позицию указателя для чтения/записи в буфере полезной нагрузки

void setAddress (Datagram reference)

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

void setAddress (String addr)

Устанавливает адрес, указываемый строкой

void setData (byte[] buffer, int offset, int len)

Устанавливает полезную нагрузку данной дейтаграммы

void setLength (int len)

Устанавливает длину полезной нагрузки дейтаграммы

<


Начало  Назад  Вперед



Книжный магазин