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 :
Le champ ID est bien récupéré mais pas le champ IDTrame (qui reste à la valeur initialisée zéro).
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;
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)
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 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));
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
Partager