Teclis01
Messages postés1423Date d'inscriptionmardi 14 décembre 2004StatutMembreDernière intervention29 décembre 2012
-
19 janv. 2005 à 12:52
cs_the_best
Messages postés212Date d'inscriptionjeudi 13 novembre 2003StatutMembreDernière intervention 6 avril 2006
-
21 janv. 2005 à 13:11
Voilà j explique mon petit probleme:
Au debut, grace a une boucle for j envois a un client toutes les reponse a une requete a savoir une recherche de .mp3 par exemple qui sont sur le disque dur C:\ du serveur .
le probleme c'est qu'il me renvoyait !c:\mp3\Enya\Ebudae.mp3!c:\mp3\Enya\Eclipse.mp3
Vous l aurez compris il met a la suite toutes les lignes ce que evidement je ne lui ait pas demandé
le ! est pour differencier si ce string est destiné au chat ou a la recherche .
Pour palier a ce probleme ,j ai mis un Do Events apres chaque envois :
Ce qui m a permis de le faire fonctionner lorsque serveur et client sont lancé sur la même machine mais sur un LAN ça fonctionne pas
qqun sait pq ?
est ce que faire une fonction d attente a chaque envois permettrais de palier a ce probleme ?
vider la variable envoyée ?
cs_the_best
Messages postés212Date d'inscriptionjeudi 13 novembre 2003StatutMembreDernière intervention 6 avril 2006 21 janv. 2005 à 13:11
Tu peut faire comme ça:
Le serveur (celui qui envoie les données)
winsock.senddata cequetuenvoienormalement & chr$(2) 'Chr$(2) est le caractère de fin de ligne mais tu peut le changer
Le client (celui qui recoit les données)
Private Sub CC_DataArrival(ByVal bytesTotal As Long)
Dim texte As String
CC.GetData texte
Dim messages_a_traiter(100)
n_mes = 0
For p = 1 To Len(texte)
If Mid(texte, p, 1) = Chr$(2) Then
messages_a_traiter(n_mes) = Messs
Messs = ""
n_mes = n_mes + 1
Else
Messs = Messs & Mid(texte, p, 1)
End If
Next p
For poi = 0 To n_mes - 1
texte = messages_a_traiter(poi)
'''
'La tu traite la variable 'texte' comme si c'était un message unique
'''
Next poi