ebooserge
Messages postés137Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention16 juillet 2007
-
15 nov. 2006 à 17:01
ebooserge
Messages postés137Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention16 juillet 2007
-
15 nov. 2006 à 17:38
salut a tous,
j'ai une petite question sur les sockets orientées connection (TCP)
lorsqu'un client se connecte a un serveur, est ce qu'il ya moyen pour le serveur de savoir que le client est pret a recevoir les données (par la fonction recv) ? parce que mon but est de n'envoyer les données que lorsque le client est pret et pas avant. j'ai essayé de lire la doc sur les fonctions comme WSAAsyncSelect, ioctlsocket ... mais je n'ai rien trouvé.
Merci de m'eclairer les gars ... et les filles
yoyo269
Messages postés1403Date d'inscriptionlundi 23 février 2004StatutMembreDernière intervention11 janvier 20092 15 nov. 2006 à 17:19
Salut ebooserge,
en fait une fois que le client est connecté, il est censé être prêt à recevoir des données.
Autrement dit, il doit soit intercepté un événement si c'est en asynchrone ou alors être dans une boucle avec un recv.
J'espère avoir répondu à ta question.
YOYO, @+.
"L'intelligence c'est comme un parachute, quand on en n'a pas...on s'écrase !"
cs_aardman
Messages postés1905Date d'inscriptionmercredi 22 janvier 2003StatutMembreDernière intervention17 septembre 20123 15 nov. 2006 à 17:22
Salut,
Coté client, une fois le connect() terminé sans erreur ou le FD_CONNECT
recu sans erreur, c'est que le socket est prêt pour faire transferer
des données (send/recv). Coté serveur, c'est pareil, a partir du moment
ou tu as accept() qui a retourné un socket valide, celui ci est
disponible pour envoyer/recevoir des données.
On peut aussi comprendre ta question d'une autre maniere: est ce que le
serveur à moyen de savoir quand le client est entrain de faire un
recv() bloquant ? ca, je ne pense pas et d'ailleur il est possible que
ton client utilise une autre fonction que recv, voire même autre chose
que les sockets.