Этот класс реализует дейтаграммкого клиента, который соединяется с сервером синхронизирующего сетевого протокола (NTP) через стандартный порт NTP 123.
Для контроля клиента назначается отдельная нить, поэтому он реализует Runnable. Приложение может осуществлять коммуникации асинхронно из управления его пользовательским интерфейсом.
Обратите внимание, что данный файл представляет только «скелет клиента».
Полная семантика сообщений службы NTP здесь не показана. Цель в том, чтобы просто продемонстрировать структуру клиента с помощью дейтаграмм MIDP.
*/
public class DatagramTest extends MIDlet,
implements CommandListener, Runnable
}
private static final int BUF_SIZE = 1024;
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 ();
}
/*
Запускает дейтаграммного клиента.
Открывает соединение со службой дейтаграммы.
Заполняет объект дейтаграммы и посылает его. Получает ответ асинхронно и записывает байты в стандартный результат для демонстрации. Бесшумно перехватывает исключения, связанные с любым соединением.