Bonjour
Voilà je reçois un tableau de byte qui est en fait un message contenant à la fois des caractères ascii et des valeurs binaire (double,short,float...)
Chaque bloc de donnée débute par une séquence ascii "$GRP" du coups j'ai trouvé pratique d'utiliser la méthode split.
Le problème c'est qu'après je suis coincé car je n'arrive pas à convertir mes caractères en double ou float selon le cas
Si quelqu'un a une idée
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 try { InputStream iStream = m_TCPSocket.getInputStream(); iStream.read(buff); String st = new String(buff); String Groupes[] = st.split("$GRP"); for (int ng=0;ng<Groupes.length;ng++) { char[] LeGroupe= Groupes[ng].toCharArray(); short NumGrp= (short) (LeGroupe[0]*256+LeGroupe[1]); short TailleGrp=(short) (LeGroupe[2]*256+LeGroupe[3]); if (NumGrp==1) { //C'est ici que ça coince ByteBuffer bufc = ByteBuffer.wrap(LeGroupe,4,3*8); DoubleBuffer Temps = bufc.asDoubleBuffer(); } }
Partager