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

Développement Discussion :

[Sockets] Timeout sur accept() ?


Sujet :

Développement

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Décembre 2003
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 2
    Points : 1
    Points
    1
    Par défaut [Sockets] Timeout sur accept() ?
    Bonjour tout le monde !

    Tout d'abord, félicitations pour ce merveilleux site qu'est Developpez.com, il m'est très utile chaque jour lorsque je suis confronté à un problème de programmation.

    Je suis actuellement sur un projet de programmation utilisant les sockets en C. C'est la première fois que je les utilise sous ce langage de programmation, car j'ai pratiquement toujours développer en Java.
    Mon problème est le suivant : lors que je fais appel à la fonction accept() pour accepter une connection cliente sur un serveur, j'ai remarqué que l'attente de connection était infinie.
    Y-a-t-il moyen de spécifier un TIMEOUT sur la fonction accept() pour dire au serveur qu'il stoppe d'attendre une connection après un certain temps ?

    Merci de votre aide

  2. #2
    Nouveau Candidat au Club
    Inscrit en
    Décembre 2003
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Alors personne ne sait comment faire ?

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2003
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 35
    Points : 23
    Points
    23
    Par défaut
    si tu es dans un environnement unix :

    il te suffit d'utiliser le signal SIGALRM...

    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
    20
    21
    22
    23
    24
    25
    26
    27
    #include<unistd.h>
    #include<signal.h>
    ...
    
    void handlerSigAlrm&#40;int sig&#41;;
    struct sigaction sigAct;
    ...
    int main&#40;&#41; &#123;
    
       sigAct.sa_handler = handlerSigAlrm;
       sigaction&#40;SIGALRM, &sigAct, NULL&#41;;
    
       ...
    
       alarm&#40;5&#41;; /* alarme dans 5 secondes */
       int socketService = accept&#40; ... &#41;;
    
       ...
    &#125;
    
    
    void handlerSigAlrm&#40;int sig&#41; &#123;
       
       printf&#40;"accept a ete interrompu ! time out !"&#41;;
       return;
    &#125;

Discussions similaires

  1. socket avec timeout sur accept
    Par Trunks dans le forum Windows
    Réponses: 8
    Dernier message: 29/01/2010, 16h21
  2. Java nio : TimeOut sur une socket d'un selector
    Par souihli dans le forum Entrée/Sortie
    Réponses: 1
    Dernier message: 16/10/2008, 10h26
  3. sockets : warning sur la fonction accept()
    Par bit_o dans le forum Réseau
    Réponses: 8
    Dernier message: 20/05/2007, 13h35
  4. Timeout sur accept()
    Par ryuhunter dans le forum C++
    Réponses: 1
    Dernier message: 04/04/2007, 22h38
  5. Comment définir un timeout sur une socket PHP ?
    Par N3odyme dans le forum Langage
    Réponses: 7
    Dernier message: 07/05/2006, 23h04

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