[C] descripteur de socket sous Linux
Résolu
callapa
Messages postés
11
Statut
Membre
-
sssssssdsd -
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.
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.
8 réponses
-
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 :) -
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 ? -
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. -
Tu pourrais me montrer comment tu fais car je n'y arrive pas ;)
D'avance merci. -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
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;} -
-
Super ça fonctionne ... et dire que je comprend rien au pointeur :(
Merci pour ton aide Char Snipeur -