Интерфейс DatagramConnection предоставляет единственный метод для отправки пакетов датаграммы. Я говорю о методе send(), который очень просто использовать. На самом деле все, что необходимо для отправки пакета, – это лишь одна строка кода:
dc.send(dg);
Посмотрим, как используется этот код в программе. Для этого рассмотрим следующий листинг, в котором сначала создается объект Datagram, а затем пересылается пакет через датаграммное соединение:
// Преобразовать строку в массив байтов
byte[] bytes = message.getBytes();
// Отправить сообщение
Datagram dg = null;
dg = dc.newDatagram(bytes, bytes.length);
Вы уже видели все строки этого кода по отдельности, но здесь они объединены в один фрагмент. Это действительно все, что необходимо, чтобы сформировать пакет игровых данных и отправить через датаграммное соединение с сетью.
Получение пакетов датаграммы
dc.receive(dg);
Конечно, при этом пакет датаграммы должен быть определенного размера. Ниже приведен код, формирующий и принимающий пакеты датаграммы:
// Попытка получения пакета
Datagram dg = dc.newDatagram(64);
dc.recieve(dg);
// Убедиться, что датаграмма содержит информацию
if (dg.getLength() > 0) {
String data = new String(dg.getData(), 0, dg.getLength());
Важно отметить, что в этом коде полученная датаграмма проверяется методом getLength(). Такая проверка важна, поскольку необходимо знать, есть ли данные в датаграмме. Если данные есть, то датаграмма конвертируется в строку и сохраняется в переменной data. Затем эти данные можно обработать специальным кодом.
Создание примера Lighthouse
За много лет до появления мобильных телефонов, радиопередатчиков и приемников мореплаватели использовали более примитивное средство коммуникации. Я говорю о маяках, которые обычно устанавливались на самых высоких частях берега, на их верхушке зажигался свет, направлявший корабли. Несмотря на то что сейчас маяки используют современные средства связи, свет остается источником визуальной коммуникации. Поскольку мобильные телефоны – это современная форма связи, я думаю, что пример с маяком может послужить хорошим примером для создания сетевого мидлета.
A – . – J – . – – – S – . . . 1 – . – – – -
B – – . . . K – – . – T – – 2 – . . – – -
C – . – . L – . – . – U – . . – 3 – . . . – -
D – – . . M – – – V – . . . – 4 – . . . . -
E – . N – – . W – . – – 5 – . . . . .
F – . O – – . X – – . . – 6 – – . . . .
G – – – . P – . – – . Y – . – . – 7 – – . . .
H – . . . . Q – – – . – Z – – – . . 8 – – – – . .
Используя эти коды, вы можете составлять слова и предложения. После каждой буквы следует небольшая пауза, а в конце предложения – более продолжительная. Ниже приведен код слова «hello» в азбуке Морзе:
. . . . . . – . . . – . . – – -