ltvian
Messages postés14Date d'inscriptionmardi 11 février 2003StatutMembreDernière intervention24 décembre 2004
-
27 oct. 2004 à 16:08
ltvian
Messages postés14Date d'inscriptionmardi 11 février 2003StatutMembreDernière intervention24 décembre 2004
-
28 oct. 2004 à 10:28
salut a tous ,
voila je travaille sur 2 applis avec winsock , mon client cherche le serveur et se connecte à celui-ci s'il est présent , mon serveur reçoit la requête de connexion , attribue un socket au client , récupère l'ip du client par la même occasion.
ça ça marche nickel , par contre , je voudrai ke mon client balance son nom d'ordi un fois connecté afin ke le serveur associe ip/nom d'ordi , en ce ki concerne la récup du nom d'ordi , pas de blème je passe par l'API getcomputername , par contre , j'aimerai savoir combien de temps approximativement je dois laisser au client pour se connecter avant de balancer mon info , passke si je mets dans le form load :
tcpclient.connect
tcpclient.senddata machaine
hé ben le client m'envoie balader passke le délai est trop court!
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 27 oct. 2004 à 18:31
Salut ltvian
C'est parce que tu brules les étapes : Winsock s'adresse à la carte ethernet de ton PC, donc il faut lui laisser le temps de se connecter.
Avant de faire quoique ce soit après le .Connect, il faut attendre :
tcpClient.Connect
DoEvents
Do While tcpClient.State = sckConnecting
DoEvents
Loop
On va reboucler tant que le winsock est dans l'état 'Connecting'. Quand il aura changé d'état, il faudra ensuite tester dans quel état est la comm :
If tcpClient.State <> sckConnected Then
' Connexion en défaut ou autre
MsgBox "Problème de connexion"
tcpClient.Close
Else
' On est connecté : On peut envoyer ce qu'on veut
tcpClient.SendData MaChaine
End If
ltvian
Messages postés14Date d'inscriptionmardi 11 février 2003StatutMembreDernière intervention24 décembre 2004 28 oct. 2004 à 10:28
merci à vous , ces deux méthodes me serviront grandement , là dessus , je dirai ke g trouvé une autre solution afin de récupérer le computername du client ki vient de se connecter , en effet j'utilise le DNSFinder.dll , ça marche impec et ça m'évite de trop encombrer le source de l'appli client .