private static Command exit =

new Command ('Exit', Command.EXIT, 1);

private static DatagramTest instance; private Display display;

private TextBox dgramText;

// Дейтаграммное соединение. private DatagramConnection conn;

// Дейтаграмма, которая поддерживает посылку

и получение данных, private Datagram dgram;

// Адрес демона синхронизирующего сетевого протокола (NTP) на

// определенном сервере. NTP использует протокол UDP. private String address = 'datagram://srl- usca28-07:123';

/'*

Конструктор No-arg.

*/

public DatagramTest()

{

super (); instance = this;

}

/**

Конструктор.

Обратите внимание, что проверок действительности параметра не осуществляется. Если он деформирован, при попытке соединения будет сброшено исключение.

@param service URI дейтаграммной службы, с которой соединяемся.

*/

public DatagramTest(String service)

(

this ();

address = service;

}

/**

Выдает один экземпляр данного класса. Вызов данного метода до создания объекта возвращает нулевой указатель.

@выдает экземпляр данного класса.

*/

public static DatagramTest getlnstance()

}

return instance;

{

public void startApp()

}

display = Display.getDisplay (this);

dgramText = new TextBox('Datagram contents', null, 2048,

TextField.ANY); dgramText.setCommandListener (this);

display.setCurrent(dgramText); run ();

}

/*

Запускает дейтаграммного клиента.

Открывает соединение со службой дейтаграммы.

Заполняет объект дейтаграммы и посылает его. Получает ответ асинхронно и записывает байты в стандартный результат для демонстрации. Бесшумно перехватывает исключения, связанные с любым соединением.

*/

public void run ()

}

try int maxLength;

// Откройте клиентское соединение,

conn = (DatagramConnection) Connector.open(address);

maxLength = conn.getMaximumLength();

dgram = conn.newDatagram(maxLength);

// Убедитесь, что указатель для чтения/записи находится в

// начале буфера, так что данные будут переписывать

// буферную память, dgram.reset();

// Заполните дейтаграмму перед посылкой сообщением,

// которое служба дейтаграммы поймет.

// Создайте запрос в дейтаграмме.

**/

// Пошлите только что заполненную дейтаграмму. conn.send(dgram);

// Получите дейтаграмму; ее содержимое помещается в

// указанный объект дейтаграммы. conn.receive(dgram);

// Используйте данный байтовый массив для пересылки содержимого

// ответа сервера более управляемому объекту Java,

// как, например, String. Вы можете затем использовать

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

byte [] data = dgram.getData ();

// Извлеките строку ответа. String str = new String (data);

// Проделайте обработку ответа. Здесь он

// просто распечатывается для демонстрации. System.out.println(str);

// Переустановите указатель для чтения/записи для объекта

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

// в буфер дейтаграммы, он перепишет данные последней операции

// по пересылке или получению.

//Это гарантирует, что предыдущие и последующие данные не

// перемешаются в одном буфере и что не будет создано

// испорченных засоренных сообщений.

Вы читаете Платформа J2Me
Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

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

Отметить Добавить цитату