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 :

TClientSocket et TServerSocket bloquant


Sujet :

C++Builder

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 13
    Par défaut TClientSocket et TServerSocket bloquant
    Bonjour,

    Je suis en train de développer un petit client/serveur un peu comme vnc.
    Pour ca j'utilise les socket TClientSocket et TServerSocket.
    Par défaut ils sont en mode non bloquant, et mes 2 applications marche sauf quand on effectue 2 action rapidment l'une après l'autre.
    Je m'explique :
    Si par exemple je bouge la souris depuis le client, celui ci va envoyer la commande "mouse,y" au serveur et le serveur va positionner la souris en x,y.
    Mais si je bouge et que je clique quasiement en même temps le serveur devrait recevoir "mouse,y" puis "click:" mais il reçoit "mouse,yclick:"...

    C'est pour ca que je voulai mettre mes socket en bloquant mais si je le fait alors plus rien ne marche ???
    Donc je me demandais si pour utiliser des socket bloquants il faillait faire quelque chose de spécial.
    J'ai un peu cherché des tutos mais j'ai pas trouvé grand chose...
    Donc merci d'avance à ceux qui m'aideront

  2. #2
    Membre chevronné
    Avatar de Altau
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    296
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 296
    Par défaut
    Je suppose que tu utilises TCP. Je vois 2 hypothèses :
    1. La pile TCP n'envoie pas immédiatement le paquet, dans ce cas il y a peut être une méthode dans ton composant qui permet de vider le buffer pour être sûr que le paquet va être envoyé.
    2. La deuxième commande est partie avant l'accusé de réception TCP. Tu testes le résultat de la méthode d'envoi qui devrait retourner un résultat de remise de paquet (ACK) avant d'envoyer le second.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 13
    Par défaut
    Citation Envoyé par Altau
    Je suppose que tu utilises TCP. Je vois 2 hypothèses :
    1. La pile TCP n'envoie pas immédiatement le paquet, dans ce cas il y a peut être une méthode dans ton composant qui permet de vider le buffer pour être sûr que le paquet va être envoyé.
    2. La deuxième commande est partie avant l'accusé de réception TCP. Tu testes le résultat de la méthode d'envoi qui devrait retourner un résultat de remise de paquet (ACK) avant d'envoyer le second.
    Merci je vais regarder ca

Discussions similaires

  1. Réponses: 1
    Dernier message: 19/12/2009, 20h48
  2. Problème de TClientSocket et TServerSocket
    Par Chyokyka dans le forum Débuter
    Réponses: 6
    Dernier message: 06/11/2007, 20h05
  3. Probleme TClientSocket - TServerSocket
    Par Ju2Pom dans le forum C++Builder
    Réponses: 3
    Dernier message: 18/03/2007, 17h04
  4. Réponses: 10
    Dernier message: 07/02/2007, 07h43
  5. Réponses: 2
    Dernier message: 12/10/2006, 23h36

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