[C] descripteur de socket sous Linux

Résolu
callapa Messages postés 11 Date d'inscription   Statut Membre Dernière intervention   -  
 sssssssdsd -
Bonjour,

Je suis en train de développer un serveur sous Linux et je souhaiterais savoir comment passer à une fonction un descripteur de socket.

le descripteur de socket se définit de cette façon :

fd_set nom_du descripteur;

example d'utilisation :

FD_ZERO(&nom_du_descripteur);

Mon souhait serait donc de faire passer ce descripteur à une fonction par l'intermédiaire d'un pointeur je pense.

Merci de votre aide.
A voir également:

8 réponses

Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
Salut.
Je voi vraiment pas où est le problème.
FD_ZERO(&nom_du_descripteur); doit fonctionner !
ou alors fd_set est déjà un pointeur, à ce moment, il suffit de faire
FD_ZERO(nom_du_descripteur); pour vérifier, il suffit de tester :)
0
callapa Messages postés 11 Date d'inscription   Statut Membre Dernière intervention  
 
Je me suis mal exprimé je pense.

Je veux créer une fonction dans laquel je souhaite passer en paramètre le descripteur de socket, est-ce possible ?
Si oui comment puis-je faire ?
0
Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
oui c'est possible, tu peux passer ton descripteur de socket comme n'importe quelle autre variable.
Je ne sais pas si ça répond à ta question...
Je ne comprend vraiment pas ce qui t'embete.
0
callapa Messages postés 11 Date d'inscription   Statut Membre Dernière intervention  
 
Tu pourrais me montrer comment tu fais car je n'y arrive pas ;)
D'avance merci.
0

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

Posez votre question
Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
En fait, je n'ai jamais utiliser fd_set pour faire des socket.
Moi, j'utilise <socket.h> et j'ai des descripeur ayant comme type SOCKET et SOCKADDR. Mais je ne pense pas qu'il y ai un problème.
Il faudrai que tu m'en dise un peu plus sur ce que tu inclu, ton OS, etc...
mais je dirait:
int FD_ZERO(fd_set*);//mefie toi des non en maj qu'ils ne soient pas associer à des macro
int main(){
  fd_set*  descripteur;
//initialisation du descripteur
  FD_ZERO(descripteur);
  return 0;}
int FD_ZERO(fd_set x){
//traitement sur x
return 1;}
0
callapa Messages postés 11 Date d'inscription   Statut Membre Dernière intervention  
 
Merci pour l'exemple, je vais tester tout ça :)
0
callapa Messages postés 11 Date d'inscription   Statut Membre Dernière intervention  
 
Super ça fonctionne ... et dire que je comprend rien au pointeur :(

Merci pour ton aide Char Snipeur
0
sssssssdsd
 
ja basst scho!
0