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

Réseau C Discussion :

problème de fonction select


Sujet :

Réseau C

  1. #1
    Candidat au Club
    Inscrit en
    Décembre 2006
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 4
    Points : 2
    Points
    2
    Par défaut problème de fonction select
    salut,
    j'ai un programme qui utilise la fonction select pour controler un fd (socket) en lecture des flux de messages . je passe a cette fonction un timeout de 240 secondes, je reçois tous mes messages correctement, et dans le cas d'un message long, je reçoie tous les morceux du message (soap/xml) et pour la reception de la fin de ce message, la fonction select se bloque pendant 59 voire 60 secondes pour recevoire après le EOF (des caractères que j'ai affichés : "\n\r0\r\n"),
    Je ne comprends pas pourquoi la fonction select se bloque car pendant ce bloquage , mon serveur d'éxtrémité indque un timeout et ferme sa socket et je perd la communication .
    A noter que en HTTP , ce bloquage n'exite plus, et que quand j'enlève le code de select et je passe diretement en lecture sans avoire de controle de la socket ni de timeout de recpetion, tout se passe corretement en HTTPS !!

    merci de me repondre

  2. #2
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par bmadiha
    j'ai un programme qui utilise la fonction select pour controler un fd (socket) en lecture des flux de messages .<...>
    Tout ce qu'on peut faire c'est vérifier si tu utilises select() correctement. Poste ton code. Sinon, on peut difficilement tester dans tes conditions. Il y a peut être autre chose ailleurs...

  3. #3
    Candidat au Club
    Inscrit en
    Décembre 2006
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 4
    Points : 2
    Points
    2
    Par défaut suite problème select
    Citation Envoyé par Emmanuel Delahaye
    Tout ce qu'on peut faire c'est vérifier si tu utilises select() correctement. Poste ton code. Sinon, on peut difficilement tester dans tes conditions. Il y a peut être autre chose ailleurs...
    bonjour ,

    j'ai bien utilisé la fonction select:
    j'ai débugué plus et j'ai remarqué que la fin du message est indiquée en Hexa par: \r\n0\r\n
    que j'ai affiché en Hexa suite a chaque fonction recv(),
    Dans le cas d'un message court: je reçoie tout d'abord la première portion du message et a la fin il y'a \r\n et le dernier message pour indiquer la fin du message contient 0\r\n
    mais dans le cas d'un message long, je recois toues les portions du message et j'éxécute ma requete sote serveur correctement (methodes RPC), mais la récéption de la fin du message se bloque un moment (59 secondes) puis je reçoie \r\n0\r\n ensemble (pas comme dans le cas d'un message court (où je reçois le \r\n a la fin de l'avant dernier message et 0\r\n après dans un message à part )
    J'ai joué sur la taille du buffer de reception en augmentant et diminuant la taille mais en vain
    NB: le problème se pose en HTTPS seulement !!!
    c-ad en HTTP, j'ai affiché les messages reçus et ça donne la meme chose dans le cas d'un message court ou un message long, et pourtant ça la fonction select ne bloque pas !!!


    Merci beaucoup de m'avoir aidé

Discussions similaires

  1. [XL-2010] Problème sur la fonction SELECT CASE
    Par ValerieH34 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 19/05/2015, 16h30
  2. [AC-2010] Problème de fonction Exists(Select )
    Par Nadjeul dans le forum Access
    Réponses: 1
    Dernier message: 28/07/2014, 15h54
  3. Problème fonction select()
    Par chuko dans le forum Réseau
    Réponses: 2
    Dernier message: 09/03/2009, 15h51
  4. problème avec la fonction select()
    Par Bathou dans le forum Réseau
    Réponses: 6
    Dernier message: 28/10/2008, 15h04
  5. Problème doublon dans fonction select
    Par roman67 dans le forum SQL
    Réponses: 10
    Dernier message: 31/07/2008, 13h09

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