Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
914 connectés 

  FORUM HardWare.fr
  Programmation
  C

  lecture bloquante / client tcp

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

lecture bloquante / client tcp

n°1280064
gocho
Posté le 10-01-2006 à 03:12:47  profilanswer
 

Bonsoir :hello:
bonne nuit meme...bref
Voila j'ai fais un petit client tcp tout simple qui envoie ce que l'utilisateur entre et qui affiche ce que le serveur lui renvoie.
un truc tout simple tout bete quoi.Tout il marche bien :)
Mais j'ai un probleme :  [:kiki]  
Voila je voudrais savoir comment je pourrais recevoir les infos du serveur sans avoir a taper sur entree . (je pense que c'est du au read mais je suis pas sur)
Je pense etre clair avec ma question, alors dites moi si c'est pas le cas  [:cupra]  

Code :
  1. #define TAILLE_BUFFER 256
  2. int retour;
  3. do
  4.     {
  5.       memset (Buffer, 0, TAILLE_BUFFER);
  6.       retour = read (sock, Buffer, TAILLE_BUFFER);
  7.       if( retour > 0 )
  8. printf(" Reçu : %s\n", Buffer);
  9.       memset (Buffer, 0, TAILLE_BUFFER);
  10.       retour = read(0,Buffer,TAILLE_BUFFER);
  11.       if( retour > 0 )
  12. send( sock,Buffer, TAILLE_BUFFER, 0);
  13.     }
  14.   while( strncmp(Buffer, " Exit", 4) != 0 );


 
merci [:sinking]

Message cité 1 fois
Message édité par gocho le 10-01-2006 à 03:20:41
mood
Publicité
Posté le 10-01-2006 à 03:12:47  profilanswer
 

n°1280107
Emmanuel D​elahaye
C is a sharp tool
Posté le 10-01-2006 à 09:16:44  profilanswer
 

gocho a écrit :


Voila j'ai fais un petit client tcp tout simple qui envoie ce que l'utilisateur entre et qui affiche ce que le serveur lui renvoie.
un truc tout simple tout bete quoi.Tout il marche bien :)
Voila je voudrais savoir comment je pourrais recevoir les infos du serveur sans avoir a taper sur entree .

Code :
  1. #define TAILLE_BUFFER 256
  2. int retour;
  3. do
  4.     {
  5.       memset (Buffer, 0, TAILLE_BUFFER);
  6.       retour = read (sock, Buffer, TAILLE_BUFFER);
  7.       if( retour > 0 )
  8. printf(" Reçu : %s\n", Buffer);
  9.       memset (Buffer, 0, TAILLE_BUFFER);
  10.       retour = read(0,Buffer,TAILLE_BUFFER);
  11.       if( retour > 0 )
  12. send( sock,Buffer, TAILLE_BUFFER, 0);
  13.     }
  14.   while( strncmp(Buffer, " Exit", 4) != 0 );




Un serveur n'envoi jamais rien spontanément (à qui ?) Il répond à une requête. Le rôle du read(0, ) (genre de fgets()) est de saisir la requête. L'algo d'un client est en principe :  


establish the connection with the server
DO
   get the request from the user
   send the request to the server
   get the response from the server
   print out the response
UNTIL the user wants to stop the session
discard the connection.


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
n°1280262
gocho
Posté le 10-01-2006 à 11:56:11  profilanswer
 

bonjour  [:elmoricq]  

Emmanuel Delahaye a écrit :

Un serveur n'envoi jamais rien spontanément (à qui ?) Il répond à une requête.


oui je suis d'accord.
Mais le probleme c'est que (je fais un serv/client de chat) je parle et j'envoie ce que je viens de dire.ok ca marche
Ensuite le serveur va me renvoyer sa reponse ok.
Mais imaginons qu'a cet endroit un autre user parle et bien je ne vois pas ce qu'il dit a moins de taper sur entree pour valider la saisie utilisateur.
Est ce que l'algo que tu m'as donne eviterai ce probleme?  :??: (etant donne que moi je l'ai fait dans le sens inverse)
 
merci :)  
 
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  lecture bloquante / client tcp

 

Sujets relatifs
Lecture sur port série toutes les 10msclient/bot irc
A quoi sert le process RWRBE60.EXE du client Oracle (plantage)InputStreamReader et lecture de fichiers ligne par ligne
Quel client Oracle ?Problème de lecture .wmv dans le code HTML
Lecture d'un fichier texte en boucle C++TRansaction fonctionne en mode client/serveur ?
[ASP] Lecture dans un fichier texte 
Plus de sujets relatifs à : lecture bloquante / client tcp


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR