Deserializacja pakietu danych z socket'a

0

Witam,

Przesyłam strukturę z serwera napisanego w C do klienta napisanego w Javie.
Jestem leniwy, więc struktura po stronie serwera jest po prostu rzutowana na tablicę bajtów i to jest cały proces serializacji ;)
Niestety po stronie klienta już nie jest tak kolorowo...
Szukam pomysłów jak w łatwy sposób odtworzyć wysłaną strukturę po stronie klienta. Zakładam, że deserializacja niewiele tu pomoże. Może macie jakieś inne koncepcje?

0

Koncepcja jest taka żebyś pokazał jaką strukturę przesyłasz. Jeżeli klient jest w javie to raczej bez napisania jakiejś klasy konwertera się nie obejdzie.

0

Ta aplikacja to dopiero szkielet. Załóżmy, że w tej chwili przesyłam taką strukturę:

typedef struct SDataForServer{
    int size;
    int counter;
}SDataForServer_t;
 

Domyślnie struktura będzie nieco większa, będzie zawierała dużo fizycznych danych typu: przyśpieszenie, natężenie pola, przyśpieszenie kątowe, prędkość obrotowa silników, timestamp, itp...
Rozumiem, że jedynym rozwiązaniem w tej sytuacji jest 'ręczne wycinanie' segmentów bajtów z macierzy i rzutowanie ich z powrotem na typy proste (int, float...)?

0

Używam klasy InputStream. Znając życie będą problemy z prawidłową konwersją przez DataInputStream, dlatego dla pewności napisze swoje funkcje.

0

Znając życie będą problemy z wymyślaniem koła na nowo. Użyj funkcji, które już ktoś napisał.

1

https://developers.google.com/protocol-buffers/docs/proto?hl=pl wygląda obiecująco, jesteś na 100% pewien z wyborem zwykłego C?

1 użytkowników online, w tym zalogowanych: 0, gości: 1