Rechercher : dans
Par :

[C] descripteur de socket sous Linux

Dernière réponse le 13 oct 2007 à 22:05:34 callapa, le 12 avr 2006 à 16:58:57 
 Signaler ce message aux modérateurs

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.

Meilleures réponses pour « [C] descripteur de socket sous Linux » dans :
Compiler du C sous Linux/UNIX VoirSous Linux, le compilateur de C est gcc. Il est installé de base sur plusieurs distributions, mais sur Debian (et celles qui en découlent) il faudra l'installer (aptitude install gcc). gcc Syntaxe de GCC gcc Tout d'abord, il faut savoir...
[Langage C] C/C++ Erreur de segmentation VoirQu'est ce qu'une erreur de segmentation Vous êtes en train de développer une application sous Linux en C/C++. Tout va bien, ça compile, les oiseaux chantent. Donc vous lancez votre application pour la tester. Et vous obtenez l'un de ces deux...
Lire et écrire les partitions Windows (NTFS) VoirUbuntu est parfaitement capable de lire et écrire les partitions Windows, qu'elles soient FAT32 ou NTFS. Cela inclut les partitions de Windows 95, 98, ME, NT, 2000, XP, 2003 et Vista. Mais par défaut, Ubuntu (et Linux en général) peut lire et...
Les fonctions de l'API Socket VoirLes fonctions des sockets en détail La fonction socket() La création d'un socket se fait grâce à la fonction socket() : int socket(famille,type,protocole) famille représente la famille de protocole utilisé (AF_INET pour TCP/IP utilisant une...
Programmation réseau - Les sockets VoirIntroduction aux sockets La notion de sockets a été introduite dans les distributions de Berkeley (un fameux système de type UNIX, dont beaucoup de distributions actuelles utilisent des morceaux de code), c'est la raison pour laquelle on parle...

1

Char Snipeur, le 12 avr 2006 à 20:06:04

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 :) Salutation !
Char Snipeur

Répondre à Char Snipeur

2

callapa, le 12 avr 2006 à 20:17:20

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 ?

Répondre à callapa

3

Char Snipeur, le 12 avr 2006 à 20:45:15

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. Salutation !
Char Snipeur

Répondre à Char Snipeur

4

callapa, le 12 avr 2006 à 20:47:16

Tu pourrais me montrer comment tu fais car je n'y arrive pas ;)
D'avance merci.

Répondre à callapa

5

Char Snipeur, le 12 avr 2006 à 20:55:12

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;}
Salutation !
Char Snipeur

Répondre à Char Snipeur

6

callapa, le 12 avr 2006 à 21:02:53

Merci pour l'exemple, je vais tester tout ça :)

Répondre à callapa

7

callapa, le 12 avr 2006 à 21:12:31

Super ça fonctionne ... et dire que je comprend rien au pointeur :(

Merci pour ton aide Char Snipeur

Répondre à callapa

8

 sssssssdsd, le 13 oct 2007 à 22:05:34

Ja basst scho!

Répondre à sssssssdsd