cs_etrix
Messages postés55Date d'inscriptionmardi 25 mars 2003StatutMembreDernière intervention30 janvier 2004
-
27 oct. 2003 à 23:08
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 2015
-
8 nov. 2003 à 18:11
Bonjour tout le monde !
Voilà je suis en train de faire une application avec un server socket et un clientsocket, qui permet de dialoguer entre deux ordinateurs distants.
- Je voudrais faire une liste des connectés (avec un composant listbox), mais il faut que le server envoi au client la liste des connectés, et que le client envoi son pseudo au server pour l'ajouter à la liste des connecté,. C'est ca que je n'arrive pas a faire.
Comment pourrais-je faire ?
merci beaucoup à ceux qui prendront le temps de me répondre :D
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 8 nov. 2003 à 18:11
Salut Etrix
A mon avis, il faut que tu gères une structure pour les messages que tu envoies.
Utilise des mots clé en tête de message pour dissocier les infos :
Par exemple, si ton client doit envoyer sont pseudo :
ws.SendData "Pseudo" & Chr(0) & varPseudo
Pour expédier un texte de message :
ws.SendData "Message" & Chr(0) & varTexte
Ensuite, côté serveur, il faudra découper le texte qui arrive pour savoir quel type d'info est envoyée.
Dans le DataArrival, là où tu récupères les données :
' pour repérer la position du caractère de séparation
r = Instr(1, Data, Chr(0))
MotClé = Left(Data, r - 1)
Contenu = Right(Data, Len(Data) - r)
' Gestion en fonction du mot clé
Select Case MotClé
Case "Pseudo"
' Il a encoyé son pseudo
MaListe.AddItem Contenu
Case "Message"
' Il a encoyé un message
...
End Select
Tu pourras ainsi facilement ajouter de nouvelles trames sans trop te casser la tête :
En envoi : "MotClé" & Chr(0) & varMesInfos
En reception : Case "MotClé"