Multi-connexion avec winsock

Saeko - 23 juin 2001 à 23:14
Kemarnaud Messages postés 2 Date d'inscription mardi 9 août 2011 Statut Membre Dernière intervention 5 septembre 2011 - 11 août 2011 à 17:26
j'explique la situation :
j'ai créé un chat permettant le dialogue entre 2 utilisateurs (1 serveur - 1 client) et j'aimerais le rendre multi-utilisateurs(1 serveur - x client).

le problème :
je ne sais pas comment m'y prendre pour accepter plusieurs connexion et faire le necessaire pour que le serveur puisse accepter plusieus clients... Pourriez-vous m'expliquer comment faire svp ? ou alors m'indiquer l'adresse d'un tutoriel expliquant comment faire ?

merci d'avance

10 réponses

merci ! j'vais essayer ça...
0
Il faut prendre 2 winsock pour commencer
1 avec index
1 normal
Si tu attend les connexion du client sur le port 2000 par exemple ton winsock sans index sera celui qui attend la connexion alors dans le Connexion_request tu devrais dire au winsock(index) d'accepter la connection sur un autre port que le 2000 comme par exemple première connection sur 2001 2) sur 2002 etc... Ensuite tu devra lister les nom des utilisateur et aussi les numéro de winsock, le serveur va regarder tout les numéro de winsock dans la liste et va retransmettre les donner a tout les client du réseau

Va voir la source a cette adresse
http://www.vbfrance.com/article.asp?Val=1600
Si ta un prob tu peut m'écrire par émail
0
Bon y'a aussi 1 truc paceke chez kro ca doit pas être trop clair...
tu crees 1 winsock pis a chake connection tu en charges un autre.
Explication :

Private Sub Winsock1_ConnectionRequest(Index As Integer, ByVal requestID As Long)
Winsock1(Index).Accept requestID
Load Winsock(Index + 1)
Winsock1(Index + 1).Listen 666
End Sub

Comme ca quand quelqu'un se connecte sur le port 666, le prog se charge de creer 1 nouveau controle Winsock1 qui va ecouter de nouveau ce port. Ainsi ca te fera 1 une connection multi-clients...C'est magique !!!
bye et bonne chance,

ToasTy
0

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

Posez votre question
DimBikiniAsString
29 juin 2001 à 17:44
T'es sur qu'il faut utiliser un port different pour chaque connexion ?
0
jonathanthedragon Messages postés 3 Date d'inscription vendredi 19 mars 2004 Statut Membre Dernière intervention 2 juin 2004
23 mars 2004 à 05:41
eeeeeeeeeeee je mexcuse mais toutes vos affaires de winsock en index et winsock normal qui vont créer un autre winsock jai tout essayer avec un ami qui sy connais bien et nous avons jamais réussi à intégrer du multi connections. jaimerais aussi savoir comment avec un textbox ou un listbox comment je fais pour qui ecrive les noms de ceux qui sont connecté exemple serveur et client. je ne suis pas capable. si quelqun peux me donner la meilleure des exemples pour maider dans mes 2 problemes sa serait bien. merci!! ( je veux savoir en détail comment configurer les deux winsock, et les variables à déclarer tout tout tout svp. le plus clair possible. merci qqun
0
NeyronNightmare Messages postés 2 Date d'inscription mercredi 23 mars 2005 Statut Membre Dernière intervention 23 mars 2005
23 mars 2005 à 20:45
Tu créé un ListBox (par exemple ListPseudo)
A chaque fois que tu accepte une connection tu ajoute le pseudo dans
la listbox grace de cette facon --> ListPseudo.AddItem ("Pseudo")

AddItem est de type string.

Par contre si quelqu'un sais comment faire pour que le listbox affiche a chaque passage du timer le derniére valeur enregistrée (la plus basse du listbox donc) je suis preneur

--[A vaincre sans fût on triomphe sans gloire ]--
0
NeyronNightmare Messages postés 2 Date d'inscription mercredi 23 mars 2005 Statut Membre Dernière intervention 23 mars 2005
23 mars 2005 à 20:46
Ps : 1 seul winsock suffit a gérer toutes les nouvelles ocnnections.
[Voir ToasTy]

--[A vaincre sans fût on triomphe sans gloire ]--
0
YYuuukKkaaaAA Messages postés 3 Date d'inscription mardi 25 novembre 2003 Statut Membre Dernière intervention 23 mars 2006
13 juin 2006 à 10:54
Par contre si quelqu'un sais comment faire pour que le listbox affiche
a chaque passage du timer le derniére valeur enregistrée (la plus basse
du listbox donc) je suis preneur




Pour info, même si c'est un peu tard : Me.MaListbox.Listindex = Me.Malistebox.Listcount - 1
0
Kemarnaud Messages postés 2 Date d'inscription mardi 9 août 2011 Statut Membre Dernière intervention 5 septembre 2011
11 août 2011 à 17:26
je developpes une application multiclient/serveur mais je suis blocqué. je n'arrive pas a envoyer un text a un client connecté. j'utilises un timer qui a chaque seconde incremente un text "client" & i pr la simple raison qu'après je vais utilisé une base de données qui vas recupérer les données automatiques et l'afficher sur un afficher. j'utilises un seul winsock et je ne sais pas si c'est suffisant. comment je peut faire pour garder les informations sur un client connecte de tel sorte que lorsque j'envoi une info il puisse recevoir cela seule. svp aidez moi c'est trés urgen
0
Rejoignez-nous