UDP-пакет имеет подразумеваемый формат. http://en.wikipedia.org/wiki/User_Datagram_Protocol Java позаботится о 8 байтах заголовка, которые должны быть там (порт источника, порт назначения, длина, контрольная сумма). Даже если вы предоставите только один байт данных, 8-байтовый заголовок все равно будет правильно создан Java. Вы не несете ответственности за формирование этих заголовков, только за предоставление значений, которые в них входят.
Все, что у вас есть под контролем - это раздел данных пакета. Это может быть отформатировано так, как вам нравится. Похоже, вы должны отформатировать его, как вы показали выше. Значение этого формата может быть дискуссионным (источник, адреса назначения), но похоже, что вы должны придерживаться его независимо от.
Да, вы должны изменить байтовый массив буфера так, чтобы он соответствовал предоставленному вами формату. Другие значения (IP-адрес и порт) используются либо для формирования заголовка, либо для фактической отправки пакета по проводам.
РЕДАКТИРОВАТЬ: Извините, 4-байтовый заголовок заменен на 8. Мой плохой. Вы могли бы подумать, что я могу сейчас прочитать спецификацию протокола.