Bonjour,
Alors voila j'ai des petits soucis lors d'une communication UDP. Mon problème est que les données reçus sont altérées.
Je désire transmettre un Header perso suivit d'adresse sur 4 octets.
Je développe l'envoie sur Cygwin et la réception se fait par une IHM crée en Qt (C++)
Voici un bout de mon code
Trames envoyées
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
19
20
21
22
23
24
25
26
27
28 for(i=0; i < 32; i+=nb_prof+2) { //Header buf[i] = 0x02 << 24; buf[i] += nb_prof*4+8 << 16; buf[i] += j << 0; //PC buf[i+1] = random(); //Empilement des appels for (k = 1; k <= nb_prof; k++)// empilement du Pc et des appels { buf[i+k+1] = random()/1000; } j++; } for(i=0; i<=32; i++) { printf("buf[%d] = %X \n",i,buf[i]); } udpsend(buf, 512, sock);
Trames reçues:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 buf[0] = 20C0003 buf[1] = 7A94D1CA buf[2] = 1490D9
On dirait un problème d'endian mais étant donné que je développe sur la même machine cela me parait bizarre
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
403000c02 cad1947a d9901400
Merci d'avance
Partager