socket : pb read/write

socket : pb read/write - C++ - Programmation

Marsh Posté le 23-08-2002 à 16:47:55    

Bonjour,
 
Côté serveur TCP, je fais  
for(i=0;i<10;i++){
      write(socket,buffer_émission,...);
}
(le write est non bloquant)
 
Côté client TCP, je fais
while(1){
   read(socket,buffer_reception,...);
}
(le read est non bloquant)
 
Les socket ont l'option TCP_NODELAY
 
Lorsque je reçois les buffers_reception côté client , j'en reçois 2 au lieu de 10
Le premier buffer_reception contient 1 seul buffer_emission
Le second buffer_reception contient 9 buffer_emission
 
Je devrais normalement recevoir
10 buffer_reception contenant 1 buffer_emission
 
Que puis-faire ?

Reply

Marsh Posté le 23-08-2002 à 16:47:55   

Reply

Marsh Posté le 24-08-2002 à 10:38:26    

La solution serait d'envoyer des messages de taille fixe, et de découper ensuite le contenu du buffer de réception en conséquence.
 
Ou sinon, mettre en place un système de messages d'acquitement : le serveur atteindra le message d'acquitement du client avant d'envoyer le message suivant.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed