Problème emission structure via UDP
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:
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:
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:
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 |