Probleme d envoi de string avec winsock

Signaler
Messages postés
1423
Date d'inscription
mardi 14 décembre 2004
Statut
Membre
Dernière intervention
29 décembre 2012
-
Messages postés
212
Date d'inscription
jeudi 13 novembre 2003
Statut
Membre
Dernière intervention
6 avril 2006
-
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 ?

J espere que qqun pourra m aider

1 réponse

Messages postés
212
Date d'inscription
jeudi 13 novembre 2003
Statut
Membre
Dernière intervention
6 avril 2006

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


End Sub

Voila !

The Best

Glu !!!