Guillamue06
Messages postés157Date d'inscriptiondimanche 18 avril 2004StatutMembreDernière intervention11 juillet 2022
-
17 juin 2007 à 16:39
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 2015
-
17 juin 2007 à 19:34
Bonjour a tous, je cherche un moyen d'envoyer des données textes a tous les cliens connecté au serveur.
Car quand j'envoi une donné texte au serveur celui-ci la renvoi seulement a selui qu'il la envoyer.
Enfet c'est pour un tchat :
Tous les cliens se connect au serveur (sa sa fonctionne)
Quand un clien envoi le méssage , le méssage est envoyer au serveur,
Le serveur renvoi le méssage a tous les cliens .
Mais voila moi il le renvoi seulement a celui qui c'est connecté
Source Serveur :
-----------------------------------------------
Option Explicit
Const NBRE_MAXCONN = 10
Dim mClients As New Collection
Private Sub Command1_Click()
End
End Sub
Private Sub Form_Load()
sck.LocalPort = 2468
sck.Listen
End Sub
Private Sub sck_ConnectionRequest(ByVal requestID As Long)
Dim c As frmConnect
Dim i As Long
For i = 1 To mClients.Count
If (mClients(i).sck.State = sckClosed) Then
mClients(i).sck.Accept requestID
Exit Sub
End If
Next
If (mClients.Count >= NBRE_MAXCONN) Then Exit Sub
Set c = New frmConnect
c.sck.Accept requestID
frmMain.List1.AddItem sck.RemoteHostIP
mClients.Add c
End Sub
Private Sub sck_Error(ByVal Number As Integer, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, CancelDisplay As Boolean)
On Error GoTo 0
sck.Close
sck.Listen
End Sub
Private Sub sck_Close()
sck.Close
End Sub
Dans l'otre Form (la ou les donnée sont réceptionné (frmconnect) ) :
-----------------------------------------------------------------------
Dim mClients As New Collection 'Collection regroupant les connexions en cours
Option Explicit
Private Sub Form_Load()
End Sub
Private Sub sck_DataArrival(ByVal bytesTotal As Long)
Dim recu As String
sck.GetData recu
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201578 17 juin 2007 à 19:34
Salut
Bah suffit de l'envoyer à tout le monde, où est la difficulté ?
Quand tu veux envoyer un texte à tout le monde, suffit de ... l'envoyer à tout le monde :
For i = 1 To mClients.Count
If mClients(i).sck.State = sckConnected Then
mClients(i).SendData "Salut les potes"
End If
Next
Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés