Bonsoir tous le monde,
je programme actuellement un client et un serveur dans le but de créer un chat.

Coté serveur (bout de code faisant parti d'une fonction, elle meme lancer via plusieurs thread):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
 
		while(1){
 
//Pause de 3 secondes entre chaque envoi
			Sleep(3000); 
			//Envoi de la liste des peers 
			send(client, a->liste.peerlistToString().c_str(), a->liste.peerlistToString().size()+1, 0);  
		}
Coté client :


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
while(1){
 
		//Reception de la liste des peers
		recv(sock, buffer, sizeof(buffer), 0);
 
		//Pause de 1 seconde entre chaque "rafraichissement de console"
		Sleep(1000);
		system("CLS");
 
		//Affichage de la liste
		cout<<"Connected peer(s) : ";
		cout<<(string)buffer<<endl;
 
 
	}
Ma question : le faite que j'attende 3 secondes entre chaque send() va-t-il empêcher une éventuelle fragmentation des paquets TCP ?

car si j'envoie genre 1000 caractères d'un coup, mon code coté client avec le recv() ne vas plus fonctionner correctement,
il faudrait donc que je recupere chaque octet un par un via un do while ?