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);
// Переустановите указатель для чтения/записи для объекта
// дейтаграммы. В следующий раз, когда данные будут записываться
// в буфер дейтаграммы, он перепишет данные последней операции
// по пересылке или получению.
//Это гарантирует, что предыдущие и последующие данные не
// перемешаются в одном буфере и что не будет создано
// испорченных засоренных сообщений.