Simple client serveur

Résolu
sebast_ Messages postés 17 Date d'inscription vendredi 20 février 2004 Statut Membre Dernière intervention 16 décembre 2007 - 24 nov. 2007 à 13:31
sebast_ Messages postés 17 Date d'inscription vendredi 20 février 2004 Statut Membre Dernière intervention 16 décembre 2007 - 25 nov. 2007 à 13:32
Bonjour à tous,

Je viens de trouver un tutorial sur le net expliquant la manière d'utiliser le composant Winsock sous VB6... J'ai donc voulu créer un simple client - serveur mais il m'est impossible de me connecter plus d'une fois ... (message d'erreur : Etat de connexion ou de protocole erroné)

D'après mes recherches pour éviter ce problème, il suffit de faire un :
wsClient.close
ws.Client.localport=0

****** Voici l'extrait du code pour le client : ********

Private Sub cmdConnect_Click()
  wsClient.Close
  wsClient.RemoteHost = "127.0.0.1"
  wsClient.RemotePort = mon_port
  wsClient.LocalPort = 0
  wsClient.Connect
End Sub

Private Sub cmdSend_Click()
    wsClient.SendData Text1.Text
End Sub

Private Sub cmdClose_Click()
    wsClient.Close
End Sub

****** Voici l'extrait du code pour le serveur : *******

Private Sub Form_load()
    Server.LocalPort = mon_port
    Server.Listen
end sub

Private Sub Server_Connect()
    Server.Accept
End Sub

Private Sub Server_ConnectionRequest(ByVal requestID As Long)
    Server.Close
    Server.Accept requestID
End Sub

Private Sub Server_DataArrival(ByVal bytesTotal As Long)
Dim dataR As String

    Server.GetData dataR
   
    txt1.Text = txt1.Text & vbCrLf & dataR
End Sub

Je pense que c'est une question de débutant et qu'il ne doit pas manquer grand chose puisqu'à la première connection ça fonctionne parfaitement.

Merçi d'avance pour vos réponses.

Sébastien

3 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
24 nov. 2007 à 16:40
Salut
Ceci est inutile (et je pense incorrect) et peut perturber la connexion :
   Private Sub Server_Connect()
       Server.Accept
   End Sub

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
3
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
24 nov. 2007 à 16:43
PS : Si la connexion est perdue (Server_Close) , il faudra penser à repasser ton Server en mode Listen afin qu'il puisse à nouveau répondre à une demande de connexion.
0
sebast_ Messages postés 17 Date d'inscription vendredi 20 février 2004 Statut Membre Dernière intervention 16 décembre 2007
25 nov. 2007 à 13:32
Salut Jack,

Effectivement l'instruction Server.Accept dans l'évènement Server_Connect() était la raison du problème.

Merçi à toi pour ta réponse.

Sébastien
0
Rejoignez-nous