IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Réseau C Discussion :

socket


Sujet :

Réseau C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2005
    Messages : 119
    Par défaut socket
    Bonjour,



    Je suis entrain de lire attentivement les note de emdel sur la programmation réseaux en C. Bien que n'étant pas débutant en C , je le suis en ce qui concerne les sockets, et je me demandai pour quoi il initialise les socket avec PF_INET et non AF_INET comme j'ai déjà vu dans de multiple tuto, code,...

    Voila si tu ou quelqu'un peut me répondre .


    PS : sockets sous win

    Merci d'avance.

  2. #2
    Membre émérite
    Avatar de Freed0
    Profil pro
    Étudiant
    Inscrit en
    Mars 2005
    Messages
    635
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2005
    Messages : 635
    Par défaut
    Je me permet de répondre à sa place :

    AF_INET signifie Address Family tandis que
    PF_INET signifie Protocol Family

    On utilise donc AF_INET avec la structure sockaddr_in (sin) et PF_INET avec la fonction socket, même si ça n'a pas vraiment d'effet sur le fonctionnement du programme (en tout cas dans des petits programmes assez simples).

    Pour des infos plus pointues, attendons Emmanuel

  3. #3
    zul
    zul est déconnecté
    Membre chevronné Avatar de zul
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    498
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 498
    Par défaut
    Beaucoup de tutoriaux sont remplis d'erreurs ...

    PF veut dire Protocol Family et AF veut dire Adress Family. En general, sur tous les systèmes habituelles, PF_INET et AF_INET sont egales, et c'est pour cela que de nombreux tutoriaux remplacent l'un par l'autre. Toutefois cela n'est pas assure et semantiquement c'est faux ( AF_INET n'a semantiquement aucun sens pour le domaine d'une socket ).

    De plus, un protocole donnée pourrait supporter plusieurs types d'adresse par exemple : ce n'est pas le cas actuellement mais ca pourrait se faire ( je pense par exemple a PF_INET6 et AF_INET ( il se trouve que AF_INET6 couvre AF_INET en general ) mais cela pourrait etre possible).

  4. #4
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2005
    Messages : 119
    Par défaut
    Merci à vous, j'ai compris. Et oui apparement il beaucoup de personnes qui font la faute (dont moi jusqu'à aujourd'hui ).

  5. #5
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut La vérité rétablie...
    Citation Envoyé par deck_bsd
    Merci à vous, j'ai compris. Et oui apparement il beaucoup de personnes qui font la faute (dont moi jusqu'à aujourd'hui ).
    En fait, pris d'un doute, vu la récurrence de l'erreur, j'ai approfondi mes recherches.

    Il faut admettre que la référence actuelle est POSIX.1 (C'est une norme ISO, donc elle s'impose à tous).

    http://www.unix.org/single_unix_specification/

    Or dans POSIX.1, contrairement à d'autres spécifications précédentes des sockets, les constantes PF_xxx n'existent plus, et la notion de Protocol Family non plus. Tout a été unifié en AF (Address Family). C'est indiscutable...

    Donc, il est en définitive correct d'utiliser AF_INET à la place de l'ancien PF_INET...

    Correction de mon tuto effectuée.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. executer une application a distance : Sockets ? RPC ? CORBA?
    Par a_hic dans le forum Développement
    Réponses: 5
    Dernier message: 30/05/2006, 13h02
  2. raw socket et langage c
    Par SlayDave dans le forum Développement
    Réponses: 2
    Dernier message: 29/08/2002, 19h09
  3. socket
    Par ben91 dans le forum Développement
    Réponses: 5
    Dernier message: 13/08/2002, 11h04
  4. Socket:Envoyer du texte d'un serveur vers tout les clients
    Par cedm78 dans le forum Web & réseau
    Réponses: 7
    Dernier message: 01/08/2002, 16h40
  5. transfert d'un fichier bitmap en socket tcp
    Par localhost dans le forum C++Builder
    Réponses: 5
    Dernier message: 29/07/2002, 00h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo