Probleme sockets: controle a distance ( recv )

DarkBoss Messages postés 154 Date d'inscription samedi 3 août 2002 Statut Membre Dernière intervention 12 décembre 2008 - 18 août 2004 à 14:42
titchouno Messages postés 10 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 27 janvier 2005 - 22 janv. 2005 à 22:14
Salut, moi j' ai un petit probleme de sockets,
en fet je veux que a chaque fois que un "espace" est recu,
il affiche ce qu' il a dans (char) cmd, ca marche bien pour la premiere fois, mais pourquoi apres la premiere fois cela n' affiche plus rien ?
voici mon code :

while (1) {
memset(&ClientSock, 0, ClientSockSize);
Client = accept(Server, (SOCKADDR*) &ClientSock, &ClientSockSize); // accepter la connection
printf("Client connecte...\n");
while(temp != ' ') { // tant qu' aucun espace n' est reçu
recv(Client, &temp, 1, 0); // on reçoi un caractere
strcpy(&cmd[i], &temp); // on met ce char dans cmd a la pos i
i++; // incrementation de i
}
printf("%s\n", cmd); // sinon on affiche cmd
strcpy(&temp, "."); // on copy "." dans temp(pour le while + haut)
i = 0; // on reset i
}

j' ai essayer plusieurs truc mais je n' y arrive pas ?
c' est surement une petite conneries mais bon kan on a le nez dans le code on voi pas !
merci d' avance !

DarkBoss

3 réponses

cs_AlexMAN Messages postés 1536 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 24 mai 2009 2
18 août 2004 à 16:39
C pas bon du tt de recevoir un caractere par caractere, defini un buffer (de 256, 512...comme tu veux), tu recup ce ke tenvoie le client ds cette chaine, puis tu fais pointer un pointeur (char *) sur ce buffer, et tu parcours juska trouver un caractere d'espacement. Des ke tu la trouvé, tu le remplaces par un caractere de fin de chaine, puis tu fais un printf(). Et tu repars de la, tu recommences...Mais noublie pas de conserver ce ki suit les caracteres d'espacement pour reparcourir ensuite et ptet trouver un espace !

++
0
DarkBoss Messages postés 154 Date d'inscription samedi 3 août 2002 Statut Membre Dernière intervention 12 décembre 2008
19 août 2004 à 14:33
ok.
g v essayer de recoder ca !
thx
+++

DarkBoss
0
titchouno Messages postés 10 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 27 janvier 2005
22 janv. 2005 à 22:14
salut je voulais savoir si tu avas reussi en decoupant ta chaine de caractere apres l 'avoir recu et comment tu avais fais?
Merci
a plus

how is going to end ?
0