Winsock concatène mes envoies GRRRRRRRRRRRR

Signaler
Messages postés
10
Date d'inscription
vendredi 6 décembre 2002
Statut
Membre
Dernière intervention
16 septembre 2003
-
Messages postés
10
Date d'inscription
vendredi 6 décembre 2002
Statut
Membre
Dernière intervention
16 septembre 2003
-
Voila je suis un train de dévellopper une appli type client serveur et je voudrez récupérer l'ensemble des champs sur ma partie serveur sur mon appli client

pour l'instant j'en suis là :

For i1 = 0 To 7
i1 = Val(i1)
i2 = Me.champ(i1)
Me.Winsock2(Index).SendData textenvoi(i1, i2)
Next i1

La fonction testenvoi à juste pour role de concaténer les deux valeur i1 et i2
Le problème c que winsock n'envoie les données qu'une fois la boucle terminée et donc je ne retrouve sur mon appli client qu'un seul champ data avec tous mes valeurs.

Je souhaiterez éviter d'avoir à retravailler la chaine dans une procédure lourde sachant que i2 et de type alphanumérique et de longueur variable

Donc comment faire obliger winsock à envoyer ses données à chaque pas de la boucle.

Merci..... :big)

-----------------------------------------------------

C'est ici que viennent se retrouver les âmes perdues, cela s'appelle un forum!!!

3 réponses

Messages postés
22
Date d'inscription
samedi 2 novembre 2002
Statut
Membre
Dernière intervention
7 décembre 2002

Pour les envois de plusieurs champs avec winsock j'utilise Split:

Mettons que tu veuilles envoyé le champs
a$="Toto" et le champ b$="Tata"
Pour ca tu fais
Winsock1.SendData a$+":"+b$
(":" c'est au choix tu met le caractere de separation que tu veux)

ensuite tu le recupere
Winsock1.GetData Champ$

tu declare une variable:
Dim Txt() as String

Puis tu explose la chaine:
Txt=Split(Champ$,":")

Tu obtient alors Txt(0) et Txt(1) (le nombre de chaine peut etre determinée par UBound(Txt) ici ce sera egal a 2)
Et donc tu as Txt(0)="Toto" et Txt(1)="Tata"

Voila c'est une idée parmi d'autre.

Dok
0
Messages postés
340
Date d'inscription
vendredi 11 octobre 2002
Statut
Membre
Dernière intervention
14 février 2005

En faites c'est plus simple,il suffit que tu mettes un DoEvents pour que WinSock est le temps d'envoyer le reste !!!! Ca donne ça :

For i1 = 0 To 7
i1 = Val(i1)
i2 = Me.champ(i1)
Me.Winsock2(Index).SendData textenvoi(i1, i2)
DoEvents
Next i1

Sur ce, excellente prog à toi Shadok !!!

:-p Bricomix :-p
0
Messages postés
10
Date d'inscription
vendredi 6 décembre 2002
Statut
Membre
Dernière intervention
16 septembre 2003

Merci à vous deux.....

C'est ici que viennent se retrouver les âmes perdues, cela s'appelle un forum!!!
0