IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Threads & Processus C++ Discussion :

Probleme de comprehension des threads en c++


Sujet :

Threads & Processus C++

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 7
    Points : 6
    Points
    6
    Par défaut 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 : 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);
    }
    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
    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

  2. #2
    Membre chevronné
    Avatar de imperio
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2010
    Messages
    853
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2010
    Messages : 853
    Points : 2 166
    Points
    2 166
    Par défaut
    Ce serait pas plutôt :

    ?

    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);
    }
    Cette fonction est appelée lorsque le thread est lancé. Le pointeur reçu est casté en ce qu'il est censé être à l'origine (c'est ce qui est fait généralement mais il se peut aussi qu'il soit nul selon les besoins). Il a créé cette structure dans le but d'avoir accès à ses objets dans les threads.

Discussions similaires

  1. Probleme de comprehension des cast!
    Par ville_de_lumiere dans le forum Général Java
    Réponses: 5
    Dernier message: 23/05/2014, 01h39
  2. Probleme de creation des threads
    Par bb1992 dans le forum Linux
    Réponses: 1
    Dernier message: 04/08/2013, 16h50
  3. probleme de comprehension des listes
    Par marsafari dans le forum Général Python
    Réponses: 2
    Dernier message: 29/07/2009, 15h37
  4. [Thread] Probleme pour arreter des threads
    Par Djobird dans le forum Concurrence et multi-thread
    Réponses: 4
    Dernier message: 15/02/2008, 21h31
  5. Probleme de comprehension des masques
    Par dduke dans le forum Développement
    Réponses: 3
    Dernier message: 08/01/2007, 18h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo