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

MFC Discussion :

[socket] G�rer la d�connexion bluetooth


Sujet :

MFC

  1. #1
    Membre �clair�

    Profil pro
    D�veloppeur informatique
    Inscrit en
    D�cembre 2003
    Messages
    286
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : D�cembre 2003
    Messages : 286
    Par d�faut [socket] G�rer la d�connexion bluetooth
    Bonjour ,

    J'ai un programme qui fait un transfert de donn�es en bluetooth sous WindowsCE (embedded vc++ 4).
    Pour cela j'utilise les sockets.

    Afin de savoir si des donn�es sont pr�sentes en r�ception j'utilise l'instruction select() et ensuite l'instruction recv().
    Le probl�me vient du fait que si la liaison est coup�e, je ne r�cup�re pas de SOCKET_ERROR pour aucune des 2 fonctions mais un timeout (0) ...

    Je ne comprends vraiment pas pourquoi et je n'arrive pas a faire en sorte de g�rer une d�connexion (qui est diff�rente d'un timeout)

    merci

  2. #2
    Membre �clair�

    Profil pro
    D�veloppeur informatique
    Inscrit en
    D�cembre 2003
    Messages
    286
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : D�cembre 2003
    Messages : 286
    Par d�faut
    J'ai trouv� !!!

    Et bien j'ai mis le temps .... Ce n'est vraiment pas �vident je trouve et pas tr�s bien expliqu� ...

    Voila un bout de code qui fait ce que je voulais :

    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
    fd_set readSet;
    fd_set exset;
    TIMEVAL tv;
     
    int timeoutSocketMs = 20000;
     
    FD_ZERO(&readSet);
    FD_ZERO(&exset);
     
    FD_SET(hSock, &readSet);
    FD_SET(hSock, &exset);
     
    tv.tv_sec = timeoutSocketMs / 1000 ;
    tv.tv_usec = ( timeoutSocketMs % 1000) * 1000;
     
    // Check if data is available for reading (with timeout)
    int ret = select(0, &readSet, NULL, &exset, &tv);
     
    if (ret==SOCKET_ERROR || exset.fd_count>0) return -1;

  3. #3
    Membre �clair�

    Profil pro
    D�veloppeur informatique
    Inscrit en
    D�cembre 2003
    Messages
    286
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : D�cembre 2003
    Messages : 286
    Par d�faut
    Une derniere chose :

    Pour d�tecter une d�connexion, il faut appremment que le timeout pour la fonction select() soit au moins de 20s ... c'est nul mais c'est comme ca, ou alors faut qu'on m'explique ...

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [socket] d�tecter une d�connexion
    Par ArgusAzure dans le forum R�seau
    R�ponses: 4
    Dernier message: 22/03/2007, 11h30
  2. [Indy] G�rer les d�connexions d'internet
    Par Gaadek dans le forum Delphi
    R�ponses: 2
    Dernier message: 26/01/2007, 23h00
  3. [Socket] D�tecter une d�connexion
    Par leyee dans le forum D�veloppement
    R�ponses: 2
    Dernier message: 05/12/2005, 12h27
  4. [Socket] D�tecter la d�connexion d'un client
    Par leyee dans le forum Entr�e/Sortie
    R�ponses: 21
    Dernier message: 24/11/2005, 10h33
  5. [Socket] D�tection de d�connexion
    Par Wookai dans le forum Entr�e/Sortie
    R�ponses: 6
    Dernier message: 14/04/2005, 21h58

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