2015-05-29 1 views
1

Я экспериментирую с QUIC example server от проекта Chromium, поскольку я пытаюсь реализовать простой Java-клиент, который говорит QUIC.Записывать заголовки протоколов в маленьком endian to wire - Чистый подход в Java?

Как запрограммировать поля заголовка (QUIC определяется в Little-Endian)? Я бросаю байтовые массивы и побитовые операторы, но он чувствует, что должен быть намного более чистый способ сделать это. Любые библиотеки, которые позволяют мне устанавливать определенные биты в заголовке и тому подобное?

Приветствия

+0

У ByteBuffer есть некоторые методы, которые помогут с преобразованием endian. И Apache Commons IO имеет класс EndianUtils. – dnault

ответ

1

Вы можете использовать ByteBuffer и определить его мало-младшему:

ByteBuffer buffer = ... 
buffer.order(ByteOrder.LITTLE_ENDIAN); 

Тогда вы можете вызвать putInt(value) положить целые значения, используя байт заказа вы хотите, а затем получить байты и отправить их на их веселый путь.

+0

Спасибо, ваш ответ поставил меня на правильный путь. Альтернативой является ByteBuf из проекта Netty. – Shady

+0

@Shady - Я не слишком хорошо знаком с Netty, но я думаю, что у них есть много полезных инструментов для такого рода вещей. –

Смежные вопросы