Voilà c'est réglé, il y avait juste un problème de IPC_CREAT dans le client et des & en trop dans les scanf et prinf car ce sont des pointeurs.
Voilà le code final :
Client
# include...
Type: Messages; Utilisateur: problems99
Voilà c'est réglé, il y avait juste un problème de IPC_CREAT dans le client et des & en trop dans les scanf et prinf car ce sont des pointeurs.
Voilà le code final :
Client
# include...
Non c'est en local. Que ce soit à la salle de TP ou chez moi.
En effet, tu a raison, j'ai errno=22 dans le code serveur !
Cependant, errno passe de 0 à 22 dans la fonction initialize(), plus précisément :
if(semctl(sem_id,sem_num,SETVAL,semunion) == -1)...
Tiens, je ne connaissais pas errno.
Je ne sais pas si je l'ai bien fait :
string=(char *) shmat(shmid, NULL, SHM_W|SHM_R);
if (string==-1)
printf("Code de l'erreur : %d \n", errno);
...
J'avance j'avance :)
Mes sémaphores sont ok, les processus affichent bien leur message à tour de rôle au bon moment.
Par contre, le serveur ne reçoit pas la modification du client et vice...
Tu veux parler pour shmat ? Le reste ne renvoie pas d'erreur.
Pour le client,
down(semid,0);
scanf("%s", string);
printf("%s \n", string);
up(semid,0);
Bonjour à tous,
Pour un exercice, je dois transférer une chaine de caractères d'un client vers un serveur, ce dernier transforme les minuscules en majuscule et la renvoie au client, tout ça en...
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.