2012-12-20 15 views
5

Jeśli, na przykład, jestem podane wymagania struktury komunikat podobny do jednego w dół poniżej:Jaki jest najlepszy sposób tworzenia struktur wiadomości w Javie?

  • header 28 bajtów
    • konsument 2 bajty
    • typu 4-bajty
    • . ..
  • ładunek 64 bajtów

Czy są jakieś biblioteki w Javie, aby zrobić to szybciej?

Czy muszę utworzyć go ręcznie jako oddzielną klasę z tablicami bajtów i setterami/pobierającymi?

+1

Istnieje Google Proto bufory. Nie może generować tego rodzaju formatu bajtów, ale może generować komunikaty między różnymi platformami, ustawiające i pobierające. –

Odpowiedz

3

Prawdopodobnie możesz czerpać korzyści z metod użytkowych w klasie ByteBuffer zamiast obsługi bezpośrednio tablicy bajtów. Znajdziesz metody uzyskiwania i ustawiania wielobajtowych liczb całkowitych (np. GetShort, putInt, putLong), a także możesz kontrolować kolejność bajtów (duży lub mały endian).

Następnie można owinąć ByteBuffer w innej klasy z sensownych nazw metod, np:

int getType() { 
    return bb.getInt(2); // offset 2 
} 

void setType(int type) { 
    bb.putInt(2, type); 
} 
Powiązane problemy