Vedlen
Messages postés360Date d'inscriptionmardi 14 octobre 2003StatutMembreDernière intervention 7 septembre 2009
-
22 oct. 2005 à 14:03
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 2018
-
22 oct. 2005 à 14:24
Salut,
Ya un truc qui me fait craquer que j'arrive pas à comprendre, c'est ce morceau de code ci-dessous:
Sleep_tps = 50
For i = 1 To 5
Winsock1.SendData Drive1.List(i)
Sleep Sleep_tps
Next i
Winsock1.SendData "finished"
Je sais pas pourquoi, au lieu de me faire un sleep de 50ms entre chaque
requête, il attend 5x50ms (=250ms) et m'envoie tout d'un coup en un
seul paquet tout collé grrrrr..
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 22 oct. 2005 à 14:24
salut,
l'explication est très simple, le sleep prend effet bien avant que ton socket puisse recevoir ses instructions.
si ton but est juste de ne pas envoyer tes 5 messages d'un bloc, alors le Sleep n'est pas approprié.
si tu veux non-seulement qu'il soient séparés, mais en plus faire une pause (ce qui me parraît bizarre pour si peu de temps), alors il faut juste redonner la main au système.
' [VB6] envoyer en 5 lignes :
For i = 1 To 5
Winsock1.SendData Drive1.List(i)
DoEvents
Next i
Winsock1.SendData "finished"
DoEvents
'tu peux ajouter ton "Call Sleep(50)" sous tes "DoEvents"
'mais c'est totalement inutile...