Vérifier si une connexion winsock a réussi?

Résolu
cs_marco62118 Messages postés 176 Date d'inscription mercredi 7 avril 2004 Statut Membre Dernière intervention 1 avril 2013 - 4 févr. 2008 à 23:24
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 - 9 févr. 2008 à 02:05
bonsoir à tous


dans le cadre d'une connexion avec winsock, comment faire pour savoir si la connexion d'un client à un serveur a réussi


TcpClient.Connect permet de connecté à un serveurmais si le serveur n'est pas ouvert quel événement renvoi lorsque la connexion est établie??


la méthode TcpClient.state renvois l'état de la connexion mais lorsque j'ai lancé la connexion du serveur l'état reste toujours à 6 "en cours de connexion" malgrès qu'entre temps le serveur se soit connecté!!!
code:
   Form1.tcpClient.Connect
    FormInfo.LabelInfo.Caption = "Attente de connexion avec le serveur"
    Do While Form1.tcpClient.State <> 7
        FormInfo.Show
        DoEvents
    Loop
    Unload FormInfo        
    Form1.tcpClient.SendData "Le client s'est connecté"

si vous aviez une réponse

7 réponses

PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
5 févr. 2008 à 02:14
salut

event _error

++
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
3
cs_marco62118 Messages postés 176 Date d'inscription mercredi 7 avril 2004 Statut Membre Dernière intervention 1 avril 2013 1
8 févr. 2008 à 18:39
bonsoir
voici ce que j'ai fait ça ne me parait pas très harmonieux mais ça fonctionne:

Public Sub client() 

...

   Form1.tcpClient.RemoteHost = Adresse
    Form1.tcpClient.RemotePort = 1001
    Mod_Réseau.Connexion
    While Connecté = False
        DoEvents
    Wend
    Form1.tcpClient.SendData "NOM" & Nom
...

end sub

 

 

Private Sub tcpClient_Error(ByVal Number As Integer, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, CancelDisplay As Boolean)
'Se produit lorsqu'une erreur survient lors d'une exécution en tâche de fond _
(par exemple, échec de la connexion, ou échec de l'envoi ou de la réception en arrière-plan).
'si le server n'est pas encore disponible
Form1.tcpClient.Close
Connecté = False
Form1.tcpClient.Connect

End Sub

 

Private Sub tcpClient_Connect()
    Connecté = True
End Sub

merci encore
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
8 févr. 2008 à 19:41
... çà dépend quand est comment la sub "client" est appelée
0
cs_marco62118 Messages postés 176 Date d'inscription mercredi 7 avril 2004 Statut Membre Dernière intervention 1 avril 2013 1
8 févr. 2008 à 23:21
il est appelé pour préparer la connexion et utiliser la connexion  les autres sub sont dans le module de la form qui contien les winsock
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
9 févr. 2008 à 00:25
umm... eh bien fait le test en réseau après avoir débranché le cable et tu vas avoir de jolies surprises ^^

_error va arriver oui, mais tu vas tout de même continuer dans ta boucle WHILE
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
0
cs_marco62118 Messages postés 176 Date d'inscription mercredi 7 avril 2004 Statut Membre Dernière intervention 1 avril 2013 1
9 févr. 2008 à 00:48
je ne comprends pas !!!!!!!!!!

je ne peux faire d'essais en réseau je suis seul et j'ai fait le test avec deux prog sur le même micro un serveur et un client, ça fonctionne bien j'ai même fait le test avec une déconnexion d'un des deux et j'ai bien la déconnexion

mais comment faut'il faire alors car si on n'est pas connecté on toujours un message d'erreur si on envois des données
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
9 févr. 2008 à 02:05
n'envoi que si le socket est connecté

if wsk.state=wskconnected (<- à vérifier, c'est la valeur 7) then wsk.sendata "blabla":doevents

<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
0
Rejoignez-nous