*/
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);
// Переустановите указатель для чтения/записи для объекта
// дейтаграммы. В следующий раз, когда данные будут записываться
// в буфер дейтаграммы, он перепишет данные последней операции
// по пересылке или получению.
//Это гарантирует, что предыдущие и последующие данные не
// перемешаются в одном буфере и что не будет создано
// испорченных засоренных сообщений.
dgram.reset();
// Продолжайте обработку, возможно, посылая и получая другие
// сообщения сервера.
//….
}
catch (lOException ioe)
(
System.out.println(ioe.getMessage());
loe.printStackTrace();
quit();
}
return;
}
public void pauseApp()
{
}
void quit()
destroyApp(true); notifyDestroyed(); }
public void destroyApp(boolean destroy) }
try }
conn.close ();
}
catch (lOException ioe) ioe.printStackTrace();
public void display!)
Display.getDisplay(this). setCurrent(dgramText);)
public void commandAction(Command c, Displayable d)
{
if (c == exit)
}
quit();
}
}
}
Обратите внимание, что любой из объектов Datagram по умолчанию содержит тот же адрес, что и создающий их объект DatagramConnection. Вы можете изменять адрес дейтаграммы с помощью методов интерфейса Datagram.
Приложение должно поставлять объект Datagram для посылки или получения дейтаграммы. Чтобы послать дейтаграмму, приложение заполняет объект дейтаграммы данными, составляющими сообщение, которое должно быть послано на сервер. Когда приложение получает дейтаграмму, его объект соединения заполняет объект дейтаграммы данными, которые оно получает от посылающего устройства.
Вы можете использовать тот же объект дейтаграммы для посылки и получения нескольких сообщений. Чтобы сделать это, вы должны убедиться, что вы не перепутали данные нескольких сообщений. Перед повторным использованием объекта дейтаграммы для посылки или приема нового сообщения используйте метод Datagram.reset() для переустановки указателя чтения/записи буфера.