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 :

Recherche des infos sur FD_WRITE (sockets asyncrones)


Sujet :

MFC

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    227
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 227
    Points : 121
    Points
    121
    Par défaut Recherche des infos sur FD_WRITE (sockets asyncrones)
    Salut,

    Je cherche des infos sur l'évènement FD_WRITE concernant les sockets asyncrones, d'après MSDN ce message est envoyé losrque la fonction send() a terminé son envoi.

    Je voudrait plus d'info sur cet évènement.
    En fait j'utilise plusieur fois send() et je voudrait savoir si un de ces send() a fini son envoi, mais comment savoir de quel send() provient FD_WRITE ?
    Peut être que si j'envoi une chaine d'une taille différente avec le send() en question je pourrait le différencier des autres à condition que FD_WRITE renvoye la taille des données envoyées par le send() correspondant.

    J'ai trouvé peu d'information sur MSDN, j'ai cherché aussi sur GOOGLE mais j'ai rien trouvé de trés concluant.

    Si vous avez des infos sur ça n'esitez pas

    PS: j'espère avoir été assez clair.

  2. #2
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 379
    Points : 41 573
    Points
    41 573
    Par défaut
    FD_WRITE n'est pas envoyé après un send(), il est envoyé dès qu'il y a à nouveau de la place dans le buffer d'émission (après qu'un send() ait échoué parce qu'il n'y en avait plus).

    Je n'en sais pas beaucoup plus, j'ai plus ou moins abandonné les sockets asynchrones quand il s'agit d'envoyer des données de grande taille: Un gros envoi bloquant est plus simple.
    Pour moi, les sockets asynchrones sont surtout bons pour des envois espacés de petites données (un t'chat, notamment)

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    227
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 227
    Points : 121
    Points
    121
    Par défaut
    Citation Envoyé par Médinoc
    FD_WRITE n'est pas envoyé après un send(), il est envoyé dès qu'il y a à nouveau de la place dans le buffer d'émission (après qu'un send() ait échoué parce qu'il n'y en avait plus).
    J'avais mal compris, j'ai lu peut être un peu vite. Ca va un m'arranger pluytôt pas mal tout ça 8)

    A ce propos combien il fait le buffer d'émission , je sais que sa taille est variable et que l'on peut la trouver avec une fonction, mais je voudrait juste avoir un ordre d'idée (c'est plutôt 100Ko ou 10Mo, ca doit quant même pas varier beaucoup d'une machine à l'autre)

    Et sinon a la reception de FD_WRITE il est possible de savoir combien de place à été libéré dans le buffer d'émission ? ou plutôt combien il y a de place de libre dans celui-ci ?

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    227
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 227
    Points : 121
    Points
    121
    Par défaut
    Y a t'il des moyen de gérer le buffer d'émission du socket.
    Je voudrait au moins récupérer la taille disponible dans le tampon d'émission.

    Peut t'on faire passer un message avec une forte priorité d'émission afin qu'il passe avant tout les autres sans faire la queue?

  5. #5
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 379
    Points : 41 573
    Points
    41 573
    Par défaut
    1°) getsockopt() pour récupérer les tailles de buffer
    2°) Je crois que les données OOB (out-of-band) servent à ça, mais je n'en suis pas sûr.

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    227
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 227
    Points : 121
    Points
    121
    Par défaut
    Apparement OOB ne faiut pas passer les messages en priorité, enfin j'en suis pas persuadé j'ai seulement essayé avec l'IP 127.0.0.1 ....

    : Je voudrait aussi savoir si "send()" échoue si le tampon de reception du destinataire est plein.

    Merci

    PS: Si vous avez de la doc. assez complète sur les sockets n'esitez pas à me la passer.

Discussions similaires

  1. recherche des info sur création de site
    Par jenny30 dans le forum Droit
    Réponses: 1
    Dernier message: 03/06/2009, 14h32
  2. rechercher des infos sur une page web
    Par Guenael2 dans le forum Langage
    Réponses: 6
    Dernier message: 08/12/2007, 18h32
  3. Obtenir des infos sur une page web en ligne
    Par Logan_Cale dans le forum Web & réseau
    Réponses: 1
    Dernier message: 20/08/2005, 15h36
  4. Réponses: 3
    Dernier message: 15/03/2004, 00h55
  5. Récupérer des infos sur un AVI
    Par FredericB dans le forum C++Builder
    Réponses: 2
    Dernier message: 08/12/2003, 14h25

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