[C] descripteur de socket sous Linux

Résolu
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.

8 réponses

  1. Contributeur
    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 :)
    1. 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 ?
      1. Contributeur
        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.
        1. Tu pourrais me montrer comment tu fais car je n'y arrive pas ;)
          D'avance merci.
          1. Contributeur
            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;}
            1. Super ça fonctionne ... et dire que je comprend rien au pointeur :(

              Merci pour ton aide Char Snipeur