PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 4 juil. 2006 à 04:40
pour test....
For a = 0 To (Contacts.Liste_IP.ListCount - 1)
Load Winsock(a + 1)
Winsock(a + 1).Close
Winsock(a + 1).Connect Contacts.Liste_IP.List(a), val(Port) + a
Next a
<hr size="2" width="100%" />Prenez un instant pour répondre à ce sondage svp
Dav_c
Messages postés194Date d'inscriptiondimanche 25 janvier 2004StatutMembreDernière intervention11 décembre 2015 4 juil. 2006 à 05:31
essai sa
dim b as double
For a = 0 To (Contacts.Liste_IP.ListCount - 1)
b= b +1
Load Winsock(b)
Winsock(b).Close
Winsock(b).Connect Contacts.Liste_IP.List(a), Port
doevents
Next a
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 4 juil. 2006 à 06:12
pour DoEvents, y'a pas de doute mais le problème ne peut pas venir de là.
pour le reste, désolé mais c'est vraiment le plaisir de laisser une trace sans fondement....
<hr size="2" width="100%" />Prenez un instant pour répondre à ce sondage svp
Vedlen
Messages postés360Date d'inscriptionmardi 14 octobre 2003StatutMembreDernière intervention 7 septembre 2009 4 juil. 2006 à 13:39
Bon merci à vous pour vos réponses mais le problème doit définitivement avoir un lien vers une autre partie du code.
Je vais essayer de m'en sortir tout seul j'ai pas trop le choix.
deschila
Messages postés4Date d'inscriptionmercredi 20 juillet 2005StatutMembreDernière intervention28 juillet 2006 26 juil. 2006 à 11:14
Salut,
J'avais un probleme similaire avec une application client-serveur avec gestion de connexion multiple. Cette erreur apparaissait lorsque j'essayais de connecter-deconnecter plusieurs fois le meme client. En réalité, tu ne peut pas utiliser le meme port pour différentes connexions sur le meme PC. En plus de cela, je pense que lorsque l'on utilise la méthode Close, le port n'est pas libérer automatiquement, l'astuce est donc de faire :
winsock.close
winsock.localport=0
winsock.connect
winsock.close
Ainsi, le port que tu avais utilisé pour connecter ton socket est libéré car il n'est plus attribué au socket (c'est le port 0 qui l'est).
J'ai placé ce code dans l'evenement close du socket et depuis, tout marche nickel, je peux me connecter et me deconnecter plusieur fois d'affilé sans avoir le message d'erreur que tu as.
J'espere avoir été assez clair et que cela resoudera ton probleme.
deschila
Messages postés4Date d'inscriptionmercredi 20 juillet 2005StatutMembreDernière intervention28 juillet 2006 26 juil. 2006 à 14:20
Je sais, mon probleme était de liberer le port que l'on utilise aprés avoir invoqué la méthode close puisque apparement, c'est pas fait automatiquement : j'essayais de me reconnecter tout de suite aprés, j'avais un message d'erreur me disant que le port n'est pas libre alors que lorsque j'avais fait close, l'etat était bien passé à 0!
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 26 juil. 2006 à 14:42
il faut faire un close avant chaque connect (même le premier), c'était le cas?
(aucun besoin de libérer le port, il l'est automatiquement lors d'une fermeture propre. le problème vient d'ailleurs ^^)
<hr size="2" width="100%" />Prenez un instant pour répondre à ce sondage svp