begin process at 2012 05 29 22:13:13
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Linux

 > 

Réseau & Internet

 > 

probléme soket avec la fonction recv


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

probléme soket avec la fonction recv

samedi 13 décembre 2008 à 14:34:58 | probléme soket avec la fonction recv

chrno84

Bonjour, je pense avoir un probléme avec ma fonction recv, en effet elle me retourne la valeur -1, mon send fonctionne bien (retourne une valeur >0) je vous met le code.

Voila mon code sur le serveur :

int ts=accept(sock,(struct sockaddr*)&sin,(socklen_t*)&sin);

if(ts>0)cout<<"connection ok !!"<<endl;else cout<<"connection failed"<<endl;
int taille = recv(sock,msg,sizeof(msg), 0); // probleme dans la reception de msg

//cout<<msg<<endl;// probléme de recept msg
msg[taille] = '\0' ;
int nbEcho = atoi(msg);

for(int i = 0 ; i<nbEcho ; ++i)
{
int taille = recv(sock, msg, sizeof(msg), 0);
//recoit une info et remplit la variable avec
msg[taille] = '\0' ; // marqueur de fin de chaine
cout << "Message reçu : " << msg << endl;
send(sock, (void *) msg, taille, 0);
//transtype le message
}
return 0;
}



et voila la partie client :


int co=connect(sock,(struct sockaddr*)&sin,sizeof(sin));
char msg[2048];
string envoi;
int coo=send(sock,(void*)argv[3], strlen(argv[3]), 0);//le send fonctionne
cout<<coo<<endl;


si vous trouvez une solution, sa serais super, car je commence vraiment a m'arracher les cheveux...
Cordialement Chrno84
samedi 13 décembre 2008 à 16:27:41 | Re : probléme soket avec la fonction recv

goodboy21

Réponse acceptée !
salut, tu dois mette ts dans la fonction recv ,
car ton sock c'est juste pr accepter les clients et ton ts est l'autre bout de la connexion.

recv(ts,msg,sizeof(msg), 0);
ensuite si t'es pas sur de la taille que tu dois lire utilise ioctlsocket:
  int count;
 ioctlsocket(client,FIONREAD,(unsigned long*)&count); //combien d'octet on a à lire;
 char buf[100];
 recv(client,buf,count,0);


samedi 13 décembre 2008 à 23:43:18 | Re : probléme soket avec la fonction recv

chrno84

c'est bon sa marche, merci bcp :)


Cette discussion est classée dans : taille, int, msg, sock, recv


Répondre à ce message

Sujets en rapport avec ce message

ressources et API !!!! [ par Xs ] salut !voila, pour me simplifier la tache, j'utlise les ressources pour creer une boite de dialog (sous VC++ 6).mais j'obtiens, lors de la compilation conversion decimal en binaire sans connaitre la taille du nombre [ par kobee12 ] Est ce que quelqu'un pourrait m'aider. Voici un algo qui convertit un nombre biaire en decimal : bin_digits est defini avec une taille de 10. Or j'aim taille d'un INT [ par sena ] Bonjour,voila ce que je fais:int variable;variable = 367200;Ceci fonctionne.or je lis dans les bouqins qu'un int ne doit pas dépasser +32768Comment ce C ANSI allocation dynamique de tableau [ par pedu ] Ce petit pro beug en sortie, pourquoi et que faire ?#include #include int (*pi)[1][1]; /* pointeur sur un tableau d'entiers */void main(void){ unsi LERREUR QUI TUE §§§§§§§§§§§§§§§§ [ par Avalon10101 ] Vla jai fé mon prog tout é juste mais ya une erreur que je narrive vraiment pas à comprendre ! :C:\Documents and Settings\Alex\Mes documents\Makefile. Help Me [ par manta7 ] Bonjour, j'aimerais coder un fonction qui prend en paramètre un tableau de nombres entiers, et qui recherche, dans ce tableau, la plus grande différen réception données d'un serveur [ par surfeurnet ] Voila j'ai crée un fonction qui se connecte à un serveur dont l'ip et le port sont précisés en argument, mais je ne reçoit pas ou je n'arrive pas à li taille tableau [ par MiTcH37 ] J'aimerai savoir comment connaitre la taile d'un tableau, pour ne pas les envoyer comme argument dans une fonction.ex : void fct(int trier[], int tail Client/Serveur avec thread sous linux [ par frater_sinister ] J'ai un prblm avec ce programme. Avant tout le but de ce code: le client envoit un fichier au serveur, ce dernier renvoit le nombre de lignes/mots/let Problm de Linkage [ par Stormy ] J'ai ce code à compiler sous MSVC 6. Or, bien que mes options de Link soient justes (il me semble), j'obtiens une erreur de linkage:fatal error C1083:


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,622 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales