[C] Traitement de la chaine de recv()

Résolu/Fermé
next - 7 oct. 2007 à 19:42
 chris200231 - 19 août 2008 à 11:37
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....
A voir également:

5 réponses

next Messages postés 42 Date d'inscription mercredi 15 août 2007 Statut Membre Dernière intervention 6 septembre 2009 1
8 oct. 2007 à 11:57
je suis désolé de remettre cela sur le tapis, mais vous avez vraiment aucune idée ?
0
next Messages postés 42 Date d'inscription mercredi 15 août 2007 Statut Membre Dernière intervention 6 septembre 2009 1
8 oct. 2007 à 18:01
???
0
next Messages postés 42 Date d'inscription mercredi 15 août 2007 Statut Membre Dernière intervention 6 septembre 2009 1
9 oct. 2007 à 15:18
Bon je vais fermer le sujet si vous pouvez pas répondre.
0
next Messages postés 42 Date d'inscription mercredi 15 août 2007 Statut Membre Dernière intervention 6 septembre 2009 1
9 oct. 2007 à 15:20
Récapitulatif des réponses : Aucune , bravo à tous.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
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