PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 7 oct. 2005 à 17:29
salut,
encore toi?
donc :
Private Const FINFICHIER = "<%%_END_OF_FILE%%>"
cette constante chez ton client et serveur, sur la Form porteuse du socket.
S1 et S2 les "communiquants"
S1 ouvre le fichier en Txt et l'enregistre au complet en variable (disons MyFullFile)
S1 send data etc .... (avec ma tite fonctioen de l'autre fois) ...MyFullFile & FINFICHIER
S2 va recevoir le fichier, mais pas en une seule fois.
on part sur le principe qu'il ne reçois pas de messages autres, entre temps.
donc dans ton DataArrival, tu fais un Buffer
Static Buffer as String
Dim Data as String
ton get classic
S2.GetData Data
et là tu mets dans le tampon jusqu'à ce que tu l'aies au complet
Buffer = Buffer & Data
If Right(Buffer,Len(FINFICHIER))<>FINFICHIER Then
Exit Sub
Else
'tu récupères le tout sans ton séparateur qui est inutile
Data = Left(Buffer, Len(Buffer)-Len(FINFICHIER))
'et surtout, du vide le Buffer !!!!
Buffer=""
'et t'as plus qu'à enregistrer ta Data en fichier Texte, qui contient les 2Mo
EndIF
NB : attention à la limite d'une String. je ne sais plus le nombre de carac max, je suppose 2^32.
si tu en as plus, fait la même chose avec un tableau à chaque DataArrival et en testant FINFICHIER de ta dernière dimension