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

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 envoyées

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
buf[0] = 20C0003
buf[1] = 7A94D1CA
buf[2] = 1490D9
Trames reçues:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
03000c02
cad1947a
d9901400
On dirait un problème d'endian mais étant donné que je développe sur la même machine cela me parait bizarre

Merci d'avance