Bonjour à tous.
Comme beaucoup, je suis en train de faire des applications "client-serveur".
Connexion serveur: ok
Connexion client au serveur: ok
Envoi d'un "message" (tableau de bytes): ok ==> j'envoi un tableau de 4 bytes avec la taille du message à suivre en entête.
Jusque là, tout marche nickel!
Le problème:
J'envoie, j'envoie, j'envoie. De l'autre côté, je lie, je lie, je lie. Et à un moment, la connexion est perdue.
Après recherche, voici ce que je constate:
La sommes des bytes envoyé de mon serveur à mon client est de "ReceiveBufferSize".
En gros, j'ai l'impression que toutes mes données se stock dans la mémoire tampon sans jamais se vider et fais cracher ma connexion!
Evidement, dès que j'envoie aussi un tableau de bytes de plus de cette valeur "ReceiveBufferSize", c'est la déconnexion immédiate.
Je ne comprend absolument pas pourquoi...
Chez mon serveur:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 socket.Send(buffer); //buffer est un "Byte[]" avec mes données
Chez mon client, je boucle sur:
Merci à vous
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 int bytesRecu = socket.Receive(bytes, bytesDispo, SocketFlags.None); //bytesDispo est un "Int" de la taille du message attendu reçu au par-avant (voir explication ci dessus)
Partager