Bonjour,
J'ai une transmission UDP Broadcast.
Je transmet une structure avec 2 champs UINT (unsigned int).
Le premier champ de la structure est bien récupéré côté réception mais pas le 2ème champ.
Je ne détaille pas tout.
Voici le type de la structure qui est envoyée :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
typedef struct dataTrame_send {
	UINT 		ID;
	UINT		IDTrame;
} dataTrame_send_t;
Le champ ID est bien récupéré mais pas le champ IDTrame (qui reste à la valeur initialisée zéro).
Si j'aoute d'autres champs à la structure, ces champs ne sont pas modifiés.
côté émission : (le socket est ok, le bind est ok)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
dataTrame_send_t messsend={0} ;
dataTrame_send_t  * mess_send = &messsend;
/* ... */
mess_send->ID=1;
mess_send->IDTrame=5;
/* .. */
sendto(comm_sock_service,mess_send,sizeof(mess_recv),0, (struct sockaddr *)&sin_service,sizeof(sin_service));
côté réception : (le socket est ok)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
dataTrame_send_t messrecv={0} ;
dataTrame_send_t  * mess_recv = &messrecv;
 
recvfrom(sk_service, mess_recv,sizeof(mess_recv),0,(struct sockaddr *)&sin_service_recv, &dummy);
 
printf ("mess_recv->ID : %i\n",mess_recv->ID); // affiche 1
printf ("mess_recv->IDTrame : %i\n",mess_recv->IDTrame); // affiche 0