Priato
Messages postés2Date d'inscriptionjeudi 7 juillet 2005StatutMembreDernière intervention20 juillet 2005
-
20 juil. 2005 à 10:40
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 2018
-
20 juil. 2005 à 14:01
J'utilise Winsock sous VB6, j'ais crée un serveur et un client mais je
cherche a gérer plusieurs clients sur ce serveur. J'ais regardé sur
plusieurs code sources, en principe on utilise un index comme pour un
tableau or quand je le passe en parametre un message d'erreur
m'indique: " La déclaration de la procédure ne correspond pas à la
description de l'évenement..."
Voici mon code source du serveur:
Option Explicit
Private Sub BResetListe_Click()
'On efface la liste
Liste.Clear
End Sub
Private Sub Form_Load()
Sock.Close
'On défini au chargement de la feuille un port d'écoute
Sock.LocalPort = 180
'Et on écoute
Sock.Listen
End Sub
Private Sub Sock_Close()
'Quand un client se déconnecte on ferme proprement le Sock
Sock.Close
'On affiche dans la liste la déco d'un client
Liste.AddItem "Client déconnecté"
'Et on remet en écoute
Sock.Listen
End Sub
Private Sub Sock_ConnectionRequest(ByVal requestID As Long)
Sock.Close
'On affiche dans la liste un message pour bien prendre en compte la connection
Priato
Messages postés2Date d'inscriptionjeudi 7 juillet 2005StatutMembreDernière intervention20 juillet 2005 20 juil. 2005 à 13:21
J'ai trouvé mon problème il s'agissait de pouvoir instancier mon
Winsock et de pouvoir l'indexer, or pour cela il faut initialiser
l'index du winsock à 0 pour pouvoir l'utiliser par la suite dans les
procédures. Mon programme fonctionne, n'hésitez a apporter des
critiques si vous en avez, je suis en formation et donc je le prendrais
bien, merci à toi pcpt de t'être penché sur ma question.
voici le code coté serveur:
Option Explicit
Dim indexSock As Integer
Private Sub Form_Load()
Sock(indexSock).Close
'On défini au chargement de la feuille un port d'écoute
Sock(indexSock).LocalPort = 180
'Et on écoute
Sock(indexSock).Listen
End Sub
Private Sub Sock_Close(index As Integer)
'Quand un client se déconnecte on ferme proprement le Sock
Sock(index).Close
'On décharge le socket
Unload Sock(index)
'On affiche dans la liste la déco d'un client
Liste.AddItem "Client " & index & " déconnecté"
End Sub
Private Sub Sock_ConnectionRequest(index As Integer, ByVal requestID As Long)
indexSock = indexSock + 1
Load Sock(indexSock)
'On affiche dans la liste un message pour bien prendre en compte la connection
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 20 juil. 2005 à 12:04
tel quel, tu n'autorises pas plusieurs clients
ensuite, il est possible que ton port 180 soit déjà utilisé.
et le message "La déclaration de la procédure ne correspond pas à la description de l'évenement..."
doit concerner un autre problème non-lié
par exemple
Private Sub Command1_Click(Button)
ton erreur est celle d'un procédure d'un composant qui aurait été modifié.