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

C++Builder Discussion :

Serveur Multi-clients


Sujet :

C++Builder

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 4
    Points : 4
    Points
    4
    Par défaut Serveur Multi-clients
    Bonjour,
    J'ai fait un programme serveur et j'aimerai le rendre multi-clients , en faisant des recherches j'ai vu que l'on pouvait utiliser les threads . Le pb c'est que je ne sait pas comment les utiliser .Je tourne avec builder C++ sous Windows merci d'avance pour votre aide .

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2003
    Messages : 171
    Points : 97
    Points
    97
    Par défaut
    Tu dois effectivement utiliser les threads pour le multiclient

    chaque client est un thread que tu instancies lors de sa connection
    tu reperes sa connection dans les evenements du socket de communication apr exemple.

    Regarde dans les tutoriaux tu trouveras beaucoup d'exemple te guidant dans ta démarche.

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 4
    Points : 4
    Points
    4
    Par défaut
    ok merci je vais regarder , mais dernière questions , est ce que je peut utiliser la classe TThread sachant qu'il sagit d'un serveur merci

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2003
    Messages : 171
    Points : 97
    Points
    97
    Par défaut
    bien sur la classe tthread peut tout a fait etre utiliser et meme vivement conseiller pour ton thread d'ecoute par exemple

  5. #5
    Nouveau membre du Club
    Inscrit en
    Avril 2004
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 38
    Points : 37
    Points
    37
    Par défaut
    Je ne sais pas a kel niveau tu utilise tes connections (socket,protocole TCP/IP,...) mais un truc ki est bien c'est que dans borland tu as les composant indy server. Tu prend par exemple le TCP/IP(serveur) et c'est un composant multithread!
    c'est a dire qu'une fois une connection établie avec un client, il effectue le traitement qui se situe dans l'évènement Execute() et ce pour chaque connection.
    si tu désir plus d'info n'hésite pas mon projet tuteuré était la création d'un chat en réseau alors je pourrai peut être t'aider

  6. #6
    Membre chevronné
    Avatar de DjmSoftware
    Homme Profil pro
    Responsable de compte
    Inscrit en
    Mars 2002
    Messages
    1 044
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Responsable de compte
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 044
    Points : 2 187
    Points
    2 187
    Billets dans le blog
    1
    Par défaut
    Bonjour,
    un Serveur par définition peut <servir>plusieurs clients
    il existe 2 modes distincts de travail
    1 Mode Asynchrone
    2 Mode Synchrone

    dans le premier mode l'emploi de threads n'est pas nécessaire
    par exemple dans le composant TServerSocket se trouve la property Connections qui est un tableau de connections avec les différents Clients

    dans le mode Synchrone l'emploi de socket est obligatoire sans quoi le thread principal serait bloqué

    les composants ICS fonctionnent sous le premier Mode , Les Composants Indy selon le 2 em Mode


    pour les composants Natifs de la VCl la séléction des modes se fait par la property
    TServerType { stNonBlocking, stThreadBlocking

    personellement je préfère travailler de manière asynchrone avec les composants ICS http://www.overbyte.be/frame_index.html

    on évite ainsi les bloquages d'applications en cas de plantage inopiné d'un client ou d'une coupure réseau
    Cordialement

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Probleme Serveur/Multi-client avec socket
    Par CouaC dans le forum Réseau
    Réponses: 9
    Dernier message: 18/06/2007, 00h49
  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. Création d'un Serveur Multi Client
    Par N*E*R*D dans le forum Autres éditeurs
    Réponses: 5
    Dernier message: 16/03/2004, 17h13

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