Bonjour ,
J'essaie de développer une appli client-serveur , mais je rencontre quelques soucis pour gérer tout cela et faire ce que je veux .
Je vous résume le truc :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42 void * threadenvoi(void * arg) /* Thread s'occupant de l'envoi */ { /* Tant que le message envoyé n'est pas égal à fin */ { // On lit le message } /* ................. */ pthread_exit (EXIT_SUCCESS) } void * threadrecevoir(void * arg) /* Thread s'occupant de la reception */ { /* Tant que le message envoyé n'est pas égal à fin */ { cout << " resultat " << endl; cout << message_qui_a_ete_recu << endl; } /* ....................... */ pthread_exit (EXIT_SUCCESS); } void * threadrecevoirerreur(void * arg) { while(....) { /* On recoit le message erreur */ } /* ............................... */ pthread_exit (EXIT_SUCCESS); } pthread_create(&envoyer, NULL, threadenvoi,(void*)NULL); pthread_create(&recevoir, NULL, threadrecevoir,(void*)NULL); pthread_create(&recevoirErr,NULL,threadrecevoirerreur,(void*)NULL); pthread_join(recevoirErr,NULL);
Le truc , c'est qu'on a 3 threads en boucle infini , et que il y a 3 étapes :
Lecture du message
Reception du message
Reception du message erreur
Sauf que niveau resultat , la lecture est ok , mais du fait des threads , le message d'erreur arrive des fois avant le message lui même et vice versa .
Du coup , je me demandais comment faire pour qu'il y ait cet ordre précis :
Lecture du message
Reception du message
Reception du message erreur
J'espère que vous saurez m'aider ..
Partager