[C] Traitement de la chaine de recv()

Résolu
next -  
 chris200231 -
Bonsoir à tous, actuellement je programme sous linux et j'essay d'établir une connexion sur un server, tous ce passe bien mais je n'arrive pas à traiter la chaine du recv(), je m'explique : j'ai fait le code suivant

int svr;

int main()
{
int ret;
char buf[BUFSIZ+1];
fd_set bf;
struct timeval rv;

while(1)
{

sleep(1);
FD_ZERO (&bf);
FD_SET (svr, &bf);

rv.tv_sec = 0;
rv.tv_usec = 0;
select(svr + 1, &bf, NULL, NULL, &rv);
if (FD_ISSET (svr, &bf))
{
if ((ret = recv(svr, buf, BUFSIZ, 0)) <= 0)
{
printf("probléme de reception\n");
return 0;
}
printf("%s\n",buf);
}
}
}

Donc j'ai fait la procédure de connexion avec bind(), connect() etc.. et aprés je recois les données transmis par le server avec recv()

mais je n'arrive pas à traiter les différent message un par un je ne sais pas comment parser... pouvez-vous m'aider car je suis vraiment nouveau dans cela.. pourtant j'ai cherché beaucoup comment faire mais je n'ai rien trouvé, et je m'en remet à vous...

Merci d'avance....
Configuration: Windows Vista
Internet Explorer 7.0

5 réponses

  1. next Messages postés 43 Date d'inscription   Statut Membre 1
     
    je suis désolé de remettre cela sur le tapis, mais vous avez vraiment aucune idée ?
    0
  2. next Messages postés 43 Date d'inscription   Statut Membre 1
     
    ???
    0
  3. next Messages postés 43 Date d'inscription   Statut Membre 1
     
    Bon je vais fermer le sujet si vous pouvez pas répondre.
    0
  4. next Messages postés 43 Date d'inscription   Statut Membre 1
     
    Récapitulatif des réponses : Aucune , bravo à tous.
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. chris200231
     
    Bonjour,

    même si le sujet est fermé, voici mon avis :
    le recv ne ferme pas le tableau.
    donc tu devrais rajouter une ligne pour fermer ton tableau et cela donne ceci:

    if ((ret = recv(svr, buf, BUFSIZ, 0)) <= 0)
    {
    printf("probléme de reception\n");
    return 0;
    }
    buf[BUFSIZ]='\0';
    printf("%s\n",buf);
    0