IPC - Files de messages - Structure des messages
Bonjour à tous,
Je travaille actuellement sur un projet d'Architecture des systèmes d'exploitation dans lequel je dois (entre-autre) simuler la sychronisation d'une montre via un serveur horaire.
Pour communiquer entre le père (la montre locale) et son fils (serveur horaire), je souhaite utiliser une file de message. Dans <sys/msg.h> on trouve bien un modèle pour la structure du message à utiliser :
Code:
1 2 3 4 5 6
|
// Template for struct to be used as argument for 'msgsnd' and 'msgrcv'.
struct msgbuf {
long int mtype; // Type of received/sent msg
char mtext[1];
} |
Sur le peu d'explications que j'ai pu trouver sur le net, on explique trois choses :
1) mtype>0 (très important !!! mais apparement personne ne sait pk...)
2) Qu'il faut créer un tableau mtext beaucoup plus grand que juste mtext[1] (ceci est compréhensible)
3) Que lorsque l'on spécifie la taille du message dans un des arguments de msgsnd/msgrcv il faut spécifier lenght=sizeof(struct msgbuf)-sizeof(long int);
Mais voilà pour faire passer un "Hello" tout se passe bien avec cette structure. Moi ce que je souhaite c'est faire passer 3 entiers. Ais-je le droit de déclarer la structure du message ainsi :
Code:
1 2 3 4 5 6
|
struct my_msg {
int hour;
int min;
int sec;
} |
Dans ce cas quelle taille devrais-je spécifier aux primitives msgrcv et msgsnd ?
Merci d'avance !