[C] Traitement de la chaine de recv()

Résolu
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. je suis désolé de remettre cela sur le tapis, mais vous avez vraiment aucune idée ?
    0
    1. Bon je vais fermer le sujet si vous pouvez pas répondre.
      0
      1. Récapitulatif des réponses : Aucune , bravo à tous.
        0
        1. 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