Bonjour,
J'essaye d'envoyer un fichier en utilisant un buffer de 32 008 octets.
Malgré que la proprieté Blocking de mon socket est bien à True, il arrive souvent que je ne reçois pas le nombre d'octets désiré.
Ce probleme diminue si je fais Thread.sleep(100); juste avant le read ou bien si je diminue la taille du buffer.
Voici les bouts de code intérressant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
public const int BufferSize = 32008;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
TcpClient client = new TcpClient(monPeer.ipaddress, monPeer.port);
monPeer.monTcpClient = client;
monPeer.monTcpClient.ReceiveBufferSize = BufferSize;
monPeer.monTcpClient.Client.Blocking = true;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
int retour = client.GetStream().Read(bufferFichier, 0, BufferSize);
if (BufferSize != retour)
{
 
}
Merci