Précédent   Forum du club des développeurs et IT Pro > Autres langages > Python & Zope > Réseau/Web
Réseau/Web Forum d'entraide sur Python et le réseau/Web
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 14/07/2012, 00h42   #1
Neytiri
Invité de passage
 
Inscription : décembre 2009
Messages : 1
Détails du profil
Informations forums :
Inscription : décembre 2009
Messages : 1
Points : 0
Points : 0
Par défaut Attendre la réponse serveur avant d'envoyer une nouvelle requête

Bonsoir,

Je code actuellement un petit script Python se connectant à un serveur et envoyant des messages à celui-ci.
Mon script, qui est le "client" a une petite customisation en termcap afin qu'à chaque touche appuyée, je récupère le caractère et l’envoie sans que l'utilisateur ai besoin de valider par la touche Entrée.
J'ai mis la socket en bloquant du cote client.

Le serveur a un temps de réponse d'environ 5 secondes pour chaque requête.

Le problème est que, si j'appuie sur 5 touches différentes en moins de 5 secondes, le client va envoyer les 5 touches comme si il ignorait que recv() est bloquant tant que le serveur n’a pas répondu…

Quelqu'un aurait-t-il une piste sur le comment de ce bug ?

Merci d'avance !

EDIT : Je ne sais pas si le topic est bien placé dans la partie réseau car le problème vient peut-être des Termcaps (?)
Neytiri est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/07/2012, 11h19   #2
josmiley
Membre chevronné
 
Homme
Inscription : avril 2004
Messages : 675
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : avril 2004
Messages : 675
Points : 728
Points : 728
pas sûr d'avoir compris ... vas voir du côté du module select.
josmiley est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/07/2012, 17h27   #3
wiztricks
Expert Confirmé Sénior
 
Inscription : juin 2008
Messages : 3 710
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 3 710
Points : 4 547
Points : 4 547
Salut,

Si la socket est bloquante, recv attend la réponse du serveur par Mr Stack IP de votre système d'exploitation favori.
Le programme étant bloqué à cet endroit impossible d'expédier d'autres messages.
Citation:
Quelqu'un aurait-t-il une piste sur le comment de ce bug ?
Le "comment" est très certainement dans le code que vous avez écrit.
Si vous ne le montrez pas, pas facile d'y croire et de trouver des pistes.

- W
__________________
Architectures Post-Modernes
wiztricks est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 21h12.


 
 
 
 
Partenaires

Hébergement Web