Vérifier si une connexion winsock a réussi? [Résolu]

cs_marco62118 176 Messages postés mercredi 7 avril 2004Date d'inscription 1 avril 2013 Dernière intervention - 4 févr. 2008 à 23:24 - Dernière réponse : PCPT 13368 Messages postés lundi 13 décembre 2004Date d'inscription 3 février 2018 Dernière intervention
- 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
Afficher la suite 

Votre réponse

7 réponses

Meilleure réponse
PCPT 13368 Messages postés lundi 13 décembre 2004Date d'inscription 3 février 2018 Dernière intervention - 5 févr. 2008 à 02:14
3
Merci
salut

event _error

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

Merci PCPT 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 95 internautes ce mois-ci

Commenter la réponse de PCPT
cs_marco62118 176 Messages postés mercredi 7 avril 2004Date d'inscription 1 avril 2013 Dernière intervention - 8 févr. 2008 à 18:39
0
Merci
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
Commenter la réponse de cs_marco62118
PCPT 13368 Messages postés lundi 13 décembre 2004Date d'inscription 3 février 2018 Dernière intervention - 8 févr. 2008 à 19:41
0
Merci
... çà dépend quand est comment la sub "client" est appelée
Commenter la réponse de PCPT
cs_marco62118 176 Messages postés mercredi 7 avril 2004Date d'inscription 1 avril 2013 Dernière intervention - 8 févr. 2008 à 23:21
0
Merci
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
Commenter la réponse de cs_marco62118
PCPT 13368 Messages postés lundi 13 décembre 2004Date d'inscription 3 février 2018 Dernière intervention - 9 févr. 2008 à 00:25
0
Merci
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
Commenter la réponse de PCPT
cs_marco62118 176 Messages postés mercredi 7 avril 2004Date d'inscription 1 avril 2013 Dernière intervention - 9 févr. 2008 à 00:48
0
Merci
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
Commenter la réponse de cs_marco62118
PCPT 13368 Messages postés lundi 13 décembre 2004Date d'inscription 3 février 2018 Dernière intervention - 9 févr. 2008 à 02:05
0
Merci
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
Commenter la réponse de PCPT

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.