Sockets: méthode accept()

cs_julien20vt Messages postés 43 Date d'inscription jeudi 4 juillet 2002 Statut Membre Dernière intervention 10 novembre 2004 - 23 avril 2003 à 09:06
cs_lacousine Messages postés 58 Date d'inscription mardi 6 janvier 2004 Statut Membre Dernière intervention 13 juillet 2007 - 19 avril 2005 à 02:55
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 serveur ne sortait de cette méthode que lorsqu'un client se connectait or chez moi, il retourne automatiquement INVALID_SOCKET.

De quoi ca pourrait venir ?

Merci.

5 réponses

cs_sena Messages postés 126 Date d'inscription jeudi 9 janvier 2003 Statut Membre Dernière intervention 15 février 2005
23 avril 2003 à 10:30
tu peux montrer comment tu déclares ta socket? sock(...)
0
cs_julien20vt Messages postés 43 Date d'inscription jeudi 4 juillet 2002 Statut Membre Dernière intervention 10 novembre 2004
23 avril 2003 à 10:41
En fait c'est bon, je viens de trouver ce qui n'allait pas.

C'était dans le accept(sock,(SOCKADDR *)&sin, (int *)sizeof(sin));

C'etait le 3eme paramètre qui merdait, j'ai mis à la place &mataille ou mataille est déclaré comme suit : int mataille=sizeof(sin);

Et tout fonctionne, merci quand même.
0
cs_sena Messages postés 126 Date d'inscription jeudi 9 janvier 2003 Statut Membre Dernière intervention 15 février 2005
23 avril 2003 à 10:45
Je voulais procédé par étapes,

voir comment tu créè ta Socket,
puis voir comment tu fais ton accept.

Je savais ke l'erreur venait surment de l'un des 2.

Content pour toi que tu es trouvé !
Bonne continuation.
0
cs_julien20vt Messages postés 43 Date d'inscription jeudi 4 juillet 2002 Statut Membre Dernière intervention 10 novembre 2004
23 avril 2003 à 10:52
Merci en tous cas !
0

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

Posez votre question
cs_lacousine Messages postés 58 Date d'inscription mardi 6 janvier 2004 Statut Membre Dernière intervention 13 juillet 2007
19 avril 2005 à 02:55
Moi aussi j'ai un problème,



this->m_sckService =
this->m_sckEcoute->Accept();
// accept crée un nouveau socket pour la conexion

le problème est que j'aimerais bien lorsque je ferme mon programme que la méthode accept ne reste plus bloquante.... en effet, j'utilise des threads et mon programme libère pas toute les ressources utilisées en partie grace à Accept. Vous avez une idée comment résoudre ce problème... a part le shutdown, car ca règle pas mon problème ...Quand je fais CTRL+ALT+DEL et que je regarde les processus en cours... le mien est toujours actif même si mon programme est fermé.

Mieux vaut être blonde et poser des questions que de rester ignorante !!!!
0
Rejoignez-nous