Problème incompréhensible Winsock chat multi clients

Signaler
-
 joksi -
Salut a tous,

Voila maintenant deux jours que je tourne en rond avec se bout de code qui me rend dingue. Je m'explique je travail sur un server chat multi/client, j'ai facilement trouvé des sources sur internet que j'ai largement utilisés

Je connecte facilement mes client au serveur (avec netcat) je peux échanger avec un client mais lorsque j'essaye d'envoyer une commande a plus de 1 client il n’envoie les données qu'au dernier client connecté. Le problème incompréhensible est le suivant : en essayant de comprendre pourquoi le code ne marchait pas j'ai ajouté des msgBox et la miracle sa marchait, sans message box sa ne marchait pas...

Voila le bout de code incriminé (ne marche que pour un client):

Private Sub SendToAll_Click()
Dim intcnt As Integer

For intcnt = 1 To intSockCnt
If Cl(intcnt).State = sckConnected Then
Cl(intcnt).SendData cmdtxt.Text
End If
Next intcnt
End Sub

Marche correctement en affichant la msgbox :

Private Sub SendToAll_Click()
Dim intcnt As Integer

For intcnt = 1 To intSockCnt
If Cl(intcnt).State = sckConnected Then
Msgbox intcnt
Cl(intcnt).SendData cmdtxt.Text
End If
Next intcnt
End Sub

Par la suite j'ai donc rajouté un sleep de 1 puis 2 puis 10 secondes a la place de la message box, sa ne marche pas...

Je ne comprend pas du tous et je tourne en rond, un petit coup de main serait le bien venu ! Merci d'avance a celui qui prendra un moment pour me lire !

joksi

2 réponses

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
74
Salut

Essaye plutôt un DoEvents, et de préférence après le SendData

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

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Merci beaucoup sa marche nickel !