Bonjour,

je developpe en C sous Unix (Mac pour etre plus precis). Je n'ai pas trouve de reponse ou que ce soit a mon probleme, donc je pose enfin la question.
J'effectue une demande de donnee par FTP, mais ces donnees arrivent en plusieurs paquets. Je dois donc reformer mon bloque de donnees (8Mo exactement) dans un pointeur qu'on me passe prealablement en parametre.
voici ce que ca donne :


Code C : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
void getData(char * buff)
{
... // connection, demande du paquet de donnee, ouverture du port de reception des donnees, ...
 
char * localBuff = buff;
char dataReceived[DEFAULT_SIZE];
int iResult;
unsigned long total_size = 0;
int dataReceivedLenght;
 
while(1)
{
iResult = recv(socket, dataReceived, DEFAULT_SIZE, 0); // reception des donnees
 
if(iResult > 0)
{
total_size += iResult;
 
// maintenant copie des donnees dans mon buff
memcpy(localBuff , dataReceived, iResult);
localBuff += iResult; // deplacement du pointeur local
}
else
{
return;
}
}
}

Voila, j'espere etre assez precis et que quelqu'un saura m'aider.
D'avance merci.