begin process at 2012 05 28 17:36:06
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

bloqué sur un accept


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

bloqué sur un accept

jeudi 20 octobre 2005 à 14:45:15 | bloqué sur un accept

anthonycosson

bonjour tt le mnd
erveur tcp en mfc je suis bloquer sur un accept qui foir mon programme
merci d'avance
jeudi 20 octobre 2005 à 14:47:25 | Re : bloqué sur un accept

tibob51

Membre Club
kelke explication serai les bienvenues!
Bloqué! c à d?
jeudi 20 octobre 2005 à 14:57:59 | Re : bloqué sur un accept

anthonycosson

voila les meilleurs explications::

void
CtcpseqDoc::demarrage_serveur()

{

SOCKET slave;

SOCKET fd_socket;

struct sockaddr_in addr;

ZeroMemory(&addr,sizeof(addr));

addr.sin_family=AF_INET;

addr.sin_port=htons(7000);

addr.sin_addr.s_addr=INADDR_ANY;

struct sockaddr_in client;

size_t clientlen=sizeof(client);

fd_socket = socket(AF_INET,SOCK_STREAM,0);

if(fd_socket==-1)

{

MessageBox(0,"erreur socket","ERREUR",0);

exit(0);

}

if(bind(fd_socket,(struct sockaddr*)&addr,sizeof(addr))==-1)

{

MessageBox(0,"erreur bind","ERREUR",0);

exit(0);

}

if(listen(fd_socket,5)==-1)

{

MessageBox(0,"erreur listen","ERREUR",0);

exit(0);

}

slave=accept(fd_socket,(struct sockaddr*)&client,(socklen_t*)&clientlen);

/*la plus rien le prog ce bloq et il ne veu plus rien entendre*/

jeudi 20 octobre 2005 à 15:09:09 | Re : bloqué sur un accept

tibob51

Membre Club
OK,
c normal accepte (tout come recv ke tu utilisera certainement) est une fonction bloquante donc tant qu'il ya personne ça restera bloqué.
2 solutions.
-soit tu fait un Thread pour cette fonction et pend recv.
-soit tu param ton socket avec la fonction ioctlsocket(Socket, FIONBIO,1)

voili
a++;
jeudi 20 octobre 2005 à 15:34:34 | Re : bloqué sur un accept

anthonycosson

maintenant le accept marche mais retourne -1  on a opter pour le ioctlsocket(fd_socket, FIONBIO,&t); avant le while(1)

if(listen(fd_socket,5)==-1)

{

MessageBox(0,"erreur listen","ERREUR",0);

exit(0);

}

u_long t=1;

==========>ioctlsocket(fd_socket, FIONBIO,&t);

while(1)

{

slave=accept(fd_socket,(struct sockaddr*)&client,(socklen_t*)&clientlen);

et comment tu ferai avec un thread ???

merci

jeudi 20 octobre 2005 à 15:44:20 | Re : bloqué sur un accept

tibob51

Membre Club
c normal qu'il te retourne -1 (et d'allieur ça peut etre un inconvégnant) l te retournera toujours -1 dés que quelqu'un se conecte il t'envoi alors le socket puis re -1 ...

PS a propos de la fonction recv() c la même chose! -1 quand rien n'est reçu et les nombres d'octet quand tu reçoit quelque chose
jeudi 20 octobre 2005 à 15:57:46 | Re : bloqué sur un accept

anthonycosson

ok g compri mai maintenant je galère a instantié mon thread
peut tu m'aider
merci
lundi 24 octobre 2005 à 15:54:04 | Re : bloqué sur un accept

tibob51

Membre Club
Désolé pour mon absence.Mais pas eu le temps de venir.
Quel est ton problème avec le Thread?
jeudi 3 novembre 2005 à 13:43:37 | Re : bloqué sur un accept

anthonycosson

dsl de repondre 2 semaine plus tard alors le probleme etai que il me refuser un parametre dans la fonction createthread alors g essayé avec afxbeginthread mais je capte pas trop commen l'initialiser 
alors si tu pouvait me donner un petit ex de fonctionnement ce serai tres sympa
merci d'anvance
 


Cette discussion est classée dans : accept, bloqué


Répondre à ce message

Sujets en rapport avec ce message

sockets: méthode accept() [ par julien20vt ] Voila,je viens de coder le serveur de ma socket et ce qui me parait etrange c'est que la méthode accept() n'est pas bloquante, je pensais que le serve ptite kestion sur ExitThread [ par none77 ] bonjour,j'ai un thread qui boucle sans cesse avec une variable booléenne et un while.Donc quand je souhaite arreter mon thread je change d'état le boo bloqué dans lire un fichier (C) [ par khalidlyon ] Bonjour tt le monde,je vais poser une question que peut etre déja poser, mais malgré les liens que vous avez donner dans "Lire un fichier" j'arrive pa lire fichier, au secours je suis bloqué [ par khalidlyon ] Ensemble pour la scienceBonjour,J'espere que je vous dérange pas, mais je suis vraiment bloqué si vous pouvez m'aider.enfaite j'ai un fichier "donner. Comment Gerer des sockets non bloquant sous OpenGl [ par kawito ] Bonjour,je devellope un jeu (2d + scene 3d) en Opengl et C++, je desire utiliser seulement opengl et c++ (console app), pour des raisons de portabilit Recuperer un JPG sur serveur FTP [ par crocejf2000 ] Bonjour a tous,Peut etre que vous pourrez m'aider : je cherche a récuperer une image se trouvant a l'addresse "http://www.lesite.com/image.jpg".Donc a accept bloquant TCP [ par sena ] salut,je voudrais, dans une communication TCP, que mon accept soit non bloquant !Que puis-je faire ???j'utilise setsockopt( sock, SOL_SOCKET, SO_RCVTI Bloqué une url [ par kilory ] Salut, Comment peut t'on faire pour bloqué un adresse Url en C++.a partire d'un liste.faut 'il utilisé les Socket ou un truc du genre ?Merci . Bloqué sur algo de routage de Lee [ par Titoudoun ] Bonjour à tous et à toutes. Je suis bloqué sur l'algorithme de routage de Lee et j'ai très peu de temps. Quelqu'un pourrait-il me le passer s'il l'a, suprimer l'attente dans les fonction accept et recv en c++!! [ par svirpiren ] bas la question est dans le titre, mercie d'avance.pierre


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 : 0,312 sec (4)

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