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

Autres éditeurs Discussion :

Création d'un Serveur Multi Client


Sujet :

Autres éditeurs

  1. #1
    Candidat au Club
    Inscrit en
    Mars 2004
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 8
    Points : 4
    Points
    4
    Par défaut Création d'un Serveur Multi Client
    Salut tout le monde !!

    Je suis actuellement en projet, et je dois monter un serveur multi client !!
    on me propose d utiliser la fonction select(...) ( j ai deja developper cette partie ) mais maintenant, on me demande de créer des "threads".
    J ai un peu de mal a voir ce que représente un thread !!
    si quelqu'un pouvait m'expliquer !!
    merci d avance !!
    Si l'amour peut tué !! Alors la haine peut sauver !! http://images.google.fr/images?q=tbn...nksies/kou.gif
    -<COPLAND>- @Corp

  2. #2
    Membre à l'essai
    Inscrit en
    Janvier 2004
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 9
    Points : 10
    Points
    10
    Par défaut
    C'est très simple, le thread est une tâche. Un programme multi taches utilises donc les threads et permets a tes differentes fonctions de travailler de leurs côtés séparement (donc "exit" les fonctions bloquantes).
    Ca sert à quelque chose ça ?

  3. #3
    Candidat au Club
    Inscrit en
    Mars 2004
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    Ou est l intéret de remplacer la fonction select par des threads ?
    Si l'amour peut tué !! Alors la haine peut sauver !! http://images.google.fr/images?q=tbn...nksies/kou.gif
    -<COPLAND>- @Corp

  4. #4
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par GiMotoko
    Ou est l intéret de remplacer la fonction select par des threads ?
    Tu ne remplaces pas le select() par des threads : tu utilises les deux !

    Je m'explique. Avec un simple select(), ton serveur doit marcher comme cela :
    • 1. Création et initialisation de la socket
      2. Attente d'un connection avec le select()
      3. Envoi/Réception des messages avec le client qui s'est connecté.
      Lorsque la communication avec le client est terminé on retourne à l'étape 2...


    En utilisant les threads tu obtiens quelque chose dans le genre.
    • 1. Création et initialisation de la socket
      2. Attente d'un connection avec le select()
      3. Création d'un thread qui s'occupera du dialogue avec le client et retour à l'étape 2...


    Dans le premier cas, tu dois attendres que le dialogue avec le client soit terminé pour retourner au select(), du coups les tentatives de connections des autres clients echoueront ou seront mis en attente...
    Dans le second cas, un thread est créé pour communiquer avec le client qui vient de se connecter. Du coups, ton programme peut retourner de suite dans le select() et attendre de nouvelles connections...
    Le thread s'execute en parallele et s'occupe de répondre au client.
    Le thread se termine à la déconnection du client.

    voilà j'espere être assez clair...

    Sinon pour ce qui est de l'utilisation des threads je ne pense pas qu'il y ait quelque chose de standard (je me trompe ?), ca dépend de ton systeme...

    a++

  5. #5
    Candidat au Club
    Inscrit en
    Mars 2004
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    Je te remercie de ta reponse
    mais mon serveur ne crait pas de threads pour chaque client,
    je n est que le select qui s opère régulièrement.
    mes etapes sont :
    - crétaion de sockect
    - une boucle for(; qui traite les message win et le select
    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
    		for(;;)
    		{
    			if(PeekMessage(&Msg,NULL,0,0,PM_NOREMOVE))
    			{
    				if(!GetMessage(
    							  &Msg,
    							  NULL,
    							  0,
    							0
    							)) goto Fin;
    				TranslateMessage(&Msg);
    				DispatchMessage(&Msg);
    			}
    			Sleep(10);
    			if(BitTest(Etat,ET_NETLOAD)) SendMessage(hWndMain,WM_MIG_NETSELECT,0,0);
    		}
    Fin:		
    		return 0;
    et je peut traiter chaque client !!
    Si l'amour peut tué !! Alors la haine peut sauver !! http://images.google.fr/images?q=tbn...nksies/kou.gif
    -<COPLAND>- @Corp

  6. #6
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Désolé mais ca c'est de l'API Windows et je ne connais pas trop donc je ne peux pas t'aider...

Discussions similaires

  1. création d'un serveur multi client (problème de thread)
    Par Benyou dans le forum Threads & Processus
    Réponses: 5
    Dernier message: 21/08/2013, 01h27
  2. [sockets][UDP][C/C++] serveur multi-clients
    Par l@rry dans le forum Développement
    Réponses: 4
    Dernier message: 08/06/2006, 14h11
  3. serveur multi clients
    Par aaronw dans le forum C++Builder
    Réponses: 4
    Dernier message: 06/03/2006, 09h01
  4. Fork, pthread et serveur multi-clients
    Par Pico10 dans le forum POSIX
    Réponses: 13
    Dernier message: 05/01/2006, 11h48
  5. Serveur Multi-clients
    Par darsky dans le forum C++Builder
    Réponses: 5
    Dernier message: 16/04/2004, 09h53

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