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
ici j'essaye de faire mon traitement mais y a que la réception qui marche
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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); }
si vous pouvez lire l'article , ça sera mieux pour bien comprendre la partie qui me pose problème
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 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; }
Merci![]()
Partager