grabatad
Messages postés16Date d'inscriptionmardi 7 mars 2006StatutMembreDernière intervention 2 mai 2012
-
3 déc. 2007 à 14:19
nicolasToulouse
Messages postés31Date d'inscriptionmercredi 14 juin 2006StatutMembreDernière intervention11 janvier 2008
-
3 déc. 2007 à 15:18
Bonjour,
Voilà, j'ai une application réseau que j'ai faite sous visual basic avec le contrôle winsock.
Application Serveur:
Private sub Form_Load()
winsock1.localHostName="127.0.0.1"
winsock1.localPort=5501
winsock1.Listen
End Sub
Private sub winsock1_ConnectionRequest(...)
if winsock1.state=sckConnected then
winsock1.Close
winsock1.Accept requestID
List1.AddItem("Connexion de : " requestID)
End if
End Sub
Application Cliente
Private Sub Form_Load()
sock.RemoteHost="127.0.0.1"
sock.RemotePort=5501
sock.Connect
if sock.State=sckConnected then
Label1.Caption="Connexion avec le serveur"
else
Label1.Caption="Impossible d'appeler le serveur"
End If
End Sub
Avec ce code, l'application marche sans problème Mais uniquement lorsque le serveur est lancé le prémier
Comment pourrais-je faire lorsque le Client est lancé avant le serveur.Initialement cela me donne une erreur.
Je voudrais que lorsque le Client est lancé avant le serveur, qu'il
ouvre un jéton de connexion aprés du serveur et assaie de le contacter
apres chaque x secondes jusqu'à ce que la liaison s'établisse.
Comment vais-je modifier mon code pour répondre à ce besoin?
nicolasToulouse
Messages postés31Date d'inscriptionmercredi 14 juin 2006StatutMembreDernière intervention11 janvier 2008 3 déc. 2007 à 15:04
salut
peut importe le langage
A partir du moment ou ton client est lancé avant le serveur, la seule chose que tu
peux faire c'est de mettre un timer dans le client pour qu'il re-essaye de se connecter
plus tard...
En effet, vu que le serveur n'est pas présent, il n'est pas possible de faire quoi que ce soit en dehors du fait de re-essayer plus tard :)
C'est pour cela que souvent les applications gèrent le mode "connecté" et le mode
"déconnecté"....
nicolasToulouse
Messages postés31Date d'inscriptionmercredi 14 juin 2006StatutMembreDernière intervention11 janvier 2008 3 déc. 2007 à 15:18
beh, c'est à toi de faire ce que tu veux avec ton timer
L'idéal serait d'avoir une fonction du genre :
bool IsConnectionAvailable()
et ton timer, tu le positionnes à 30 seocndes, et toutes les 30 secondes, il appelle
cette méthode.. si le résultat est True, cela veut dire que la connection est disponible, donc, tu arretes ton timer... sinon, tu continues :)