Probleme de comprehension des threads en c++
Bonjour,
Je veux créer un seveur multi-client avec des threads...,
j'essayé de suivre et de comprendre le code que j'ai trouvé sur un article
http://khayyam.developpez.com/articl.../multithreads/
mais j'ai du mal à comprendre la partie création des Threads et surtout la fonction ThreadLauncher , elle me parait complique je vous laisse le liens de cet article et le code de la fonction TheadLauncher , si quelqu'un peut m'explique, je serai très content de pouvoir continuer mon petit projet
Code:
1 2 3 4 5 6
| DWORD WINAPI server::ThreadLanceur(void * p)
{
struct thread_param *Obj = reinterpret_cast<struct thread_param*>(p);
server *s = Obj->ser;
return s->ClientThread(Obj->soc);
} |
ici j'essaye de faire mon traitement mais y a que la réception qui marche
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| DWORD server::ClientThread(SOCKET soc)
{
cout << "thread client demarre" << endl;
char buffer[100];
//**** envoi ****
strcpy(buffer, "coucou \n");
send(soc, buffer,strlen(buffer), 0);
cout<<"message envoye"<<endl;
int reponse = 0;
do
{
// cout<<"******** reception ...********"<<endl;
reponse = recv(soc, buffer, sizeof(buffer), 0);
cout<<"reponse"<<reponse<<endl;
buffer[reponse]='\0';
cout<<"msg recu "<<buffer<<endl;
} while(reponse=0);
return 0;
} |
si vous pouvez lire l'article , ça sera mieux pour bien comprendre la partie qui me pose problème
Merci :)