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++ Discussion :

Réception des messages dans le Socket


Sujet :

C++

  1. #1
    Membre confirmé Avatar de rzayani
    Inscrit en
    Mars 2006
    Messages
    90
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mars 2006
    Messages : 90
    Par défaut Réception des messages dans le Socket
    Bonjour,

    J'ai un truc sur les sockets, et j'ai pas trouvé comment commencer.

    J'ai un application client/serveur. le client envoi un message au serveur et attend la reponse pour un durée bien déterminé, s'il n'y a pas des réponses il passe au traitement suivant.

    Donc l'algorithme est le suivant

    - Envoyer message
    - Attendre la réception du bon message durant x temps (il se peut qu'il arrivent d'autres messages qui ne vérifient pas la condition d'attente)

    - retourner timeout ou le message reçu

    J'ai pas trouvé comment faire le déuxième point.
    Mon application est développé avec borland C++ 5.0

    Merci pour vos aides

  2. #2
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    Si tu utilise l'API que je qualifie de "standard" (socket(), bind(), listen(), connect() recv(), send() close())
    il y a l'appel select() qui permet de faire de l'attente bloquante avec timeout

    voir ici par exemple : http://www.linux-france.org/article/.../select-2.html
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 46
    Par défaut
    Tu veux retourner le message réponse du serveur?

    Si oui, tu mets ça dans l'événement ClientRead de ton socket.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    AnsiString msgServeur;
    msgServeur = Socket->ReceiveText()
    Sinon précise un peu ta demande mais je pense que c'est la réponse que tu veux.

  4. #4
    Membre confirmé Avatar de rzayani
    Inscrit en
    Mars 2006
    Messages
    90
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mars 2006
    Messages : 90
    Par défaut
    Oui, je cherchede à faire un attente bloquant avec un timeout de la réponse du serveur.
    Mais le problème ce que j'attend une réponse bien spécifiée (Avec un identifiant), donc si une autre réponse arrive avec un autre identifiant la fonction de réception se débloque.

    J'ai pensé a faire un thread qui attend les messages et test leurs identifiants et dés qu'il trouve le bom message il envoi un EVENT. le thread pricipal est bloqué avec WaitForSingleObject avec un timeOut.

    Je cherche une autre solution plus efficace que la mienne surtout que le timout est très petit (vers 20ms).

    Merci

Discussions similaires

  1. [OL-2003] Erreur dans la réception des messages
    Par vlksoft dans le forum Outlook
    Réponses: 0
    Dernier message: 13/01/2010, 12h15
  2. réception des messages dans un chat en tcp
    Par je®ome dans le forum Réseau
    Réponses: 9
    Dernier message: 25/04/2006, 17h48
  3. Modification des YES en Oui et des messages dans dlg
    Par netchip dans le forum Langage
    Réponses: 11
    Dernier message: 15/04/2006, 14h31
  4. réception des messages WM_PAINT
    Par enzoMetz dans le forum Windows
    Réponses: 2
    Dernier message: 19/06/2004, 20h15

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