-
Socket Multi thread
Bonjour ,
Je vous explique mon soucis .
J'ai mes deux programmes clients serveurs fonctionnant sous TCP IP ( langages C/C++ )
Pour l'instant , le client peut envoyer des commandes au serveur à l'aide de socket , qu'il exécutera localement , enverra au client les infos et donc lui les recevra .
Cependant , j'aimerais réaliser cela à l'aide de socket indépendante ( donc faire du multi-thread ) , chacune ayant un rôle , par exemple une qui s'occupe de l'envoie , une qui reçoit , une qui s'occupe de la gestion des erreurs etc ..
Donc je me demandais de quel façon je pourrais faire tout cela .
Mutex ? Sémaphores ? Comment s'occuper de la gestion des erreurs ( renvoie de 0 ou -1 ) etc ..
J'espère que vous saurez me guider !
Merci d'avance
-
Bonjour
C ou C++?, il faut choisir (et ne pas poster dans les deux…)
-
On va considérer que c'est à 80% du C++ ( il y a quelques manips de C du genre les exit , bibliotheques .. )
Sinon , oui , c'est du C++ , désolé d'avoir posté dans les deux .
-
Dans un premier temps, je te conseille de jeter un œil du coté de boost.thread ou de <thread> en C++11
Pour la suite, je n'ai pas encore eu l'occasion de goûter à ton problème, donc j'en reste à mon basique: "RAII toujours".
Fais une classe dont le rôle est d'être une connexion réseau désynchronisée.
en interne, un buffer de chaines de commandes.
par contre, attention, tu va avoir un problème de tracabilité
-
Justement , je n'utilise aucune bibliothèque " extérieure " , seulement les principales pthread.h , et des biblio .h
-
Cela ne doit pas t'empecher de les regarder pour te guider.
Boost est généralement bien codée, son architecture peut t'inspirer.
et pthread.h est déjà une bibliothèque extérieure…