Voila j'ai un leger probleme.

Je dois faire un ptit chat en socket multicast ..
Seul probleme, il doit etre possible de faire un client en C qui va avec ..

J'opte donc pour crée des paquet de taille fixe .. qui serait par exemple definie en C comme ceci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
struct PaquetChat
{
char Message[50];
char Pseudo[20];
short Type;
short Color;
}
Mon probleme se situe en java ..
J'arrive a crée le paquet pour l'envoie ... via des string buffer de taille fixe, etc ...

Mais voila .. pour la recuperation, je recupere un tableau de byte.

Voila mon probleme ..

Dans mon exemple ma structure devrait faire
72 byte ...

J'ai donc un tableau de 72 byte.

Comment puis-je "recuperer" mes differents champs ?

Je pourrai refaire a chaque fois un Byte[] de la bonne taille que je remplirai via une boucle ...

Et retransformerai ce tableau dans le format souhait mais c'est un peu lourd ...

J'ai une autre solution, peut etre un peu mieux :

Cree un ByteArrayInputStream sur le buffer de depart, cree un Byte[] de la taille de ce qu'on veut et faire un read(byte[] array) .. Et ensuite recreer un string sur ce byte[] ..


Mais cela me semble fort lourd ...


N'y a-t-il pas de meilleur moyen pour decomposer un tableau de byte en different champs plus rapidement ?