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 :

programmation reseau (sockets)


Sujet :

Réseau C

  1. #1
    Membre à l'essai
    Inscrit en
    Septembre 2009
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 19
    Points : 10
    Points
    10
    Par défaut programmation reseau (sockets)
    bonjour à tous;
    - j'ai lu des tutoriels sur les sockets et la programmation reseau, celà dit , je trouve aucun document complet la dessus, et pire pour windows il n'y a que la msdn et rien de télechargeable bref , si quelqu'un peut m'aider ce sera les bienvenues, je cherche un cours un peu complet ( avec éventuellement l'application des threds sur la manipulation des sockets) et si par hazard y a de la doc je suis partant..
    - bien , maintenant les questions; j vu des codes clients et serveurs , j'avoue ne pas assimiler comment ça marche vraiment , par exemple , on peut envoyer autre chose qu'un message ? une structure par exemple..
    - le client doit avoir l'adresse du serveur n'est ce pas? pour pouvoir le contacter , et biensur le serveur lui il doit avoir un IP fixe..
    - si l'on veut gérer plusieurs clients (genre des miliers ) ??les ports existant nous suffiront ils etc

    bcp de questions c'est pourquoi je cherche un cours vraiment détaillé et complet , et je cherche aussi des réferences, avec linux ca va sauf que je me perd entre les distribution , mais avec windows c la galère , et les autres OS n'en parlant pas c'est inexistant
    merci pour votre aide

  2. #2
    Membre émérite
    Avatar de supersnail
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 719
    Points : 2 793
    Points
    2 793
    Par défaut
    Bonjour,

    Les sockets sous *nix (les distribs Linux ou les BSD) et windows sont gérés de la même façon,mis à part le WSA_STARTUP sous windows

    Sinon,pour passer une structure dans un socket,il faut que tu la sérialises,c'est-à-dire que tu la mettes au format texte.
    Sinon,pour gérer plusieurs clients en même temps,heureusement qu'on a pas besoin d'ouvrir 1000 ports en même temps!

    Il faut juste stocker tous les sockets clients dans un tableau

    Sinon le principe de base est simple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Le client se connecte au serveur (avec l'ip du serveur et son protocole)
    Le serveur accepte la connexion ou la rejette
    Si la connexion est acceptée
        On envoie un message au client ou on reçoit ce que dit le client (en fait ça dépend de ton protocole de communication)
    Le client ferme la connexion

  3. #3
    Membre à l'essai
    Inscrit en
    Septembre 2009
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 19
    Points : 10
    Points
    10
    Par défaut
    d'accord, donc pour envoyer une structure je dois l'écrire sur une ligne telle une phrase , bien je chercherai de ce coté , et pour ce qui concerne la documentation , quelqu'un aurait il un cours magistral genre étudié pendant deux ans dans une école d'ingénieur , ce serait génial de pouvoir aborder tout les recoins de la programmation reseau..je cherche surtout l'utilisation des threads , là encore je trouve des difficultés , que des articles pas de cours magistraux
    merci de me faire signe

    et supersnail , je vois toujours pas comment stocker les sockets clients dans un tableau, c'était deja une idée de base qui m'est passée par l'esprit , mais y a des clients qui arrivent , et d'autres qui partent , un tableau sur quoi on peut ajouter "à la fin" un membre et le mettre à jour (moi je me penchais du coté des fichier, un fichier ou seront marqués les clients connecté avec des id etc) mais ts cela n'est que sur papier , je m'aventure jamais sur code rapidement je cherche et recherche

  4. #4
    Membre émérite Avatar de nicolas.sitbon
    Profil pro
    Inscrit en
    Août 2007
    Messages
    2 015
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 2 015
    Points : 2 280
    Points
    2 280
    Par défaut
    Le meilleur cours magistral que tu trouveras à ce sujet reste l'ouvrage de Richard Stevens Unix Network Programming
    Cordialement.

  5. #5
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Points : 4 846
    Points
    4 846
    Par défaut
    Citation Envoyé par supersnail Voir le message
    Sinon,pour passer une structure dans un socket,il faut que tu la sérialises,c'est-à-dire que tu la mettes au format texte.
    STOP !! Non, ce n'est pas nécessaire de convertir au format texte, et souvent ce n'est même d'ailleurs pas souhaitable si l'on souhaite conserver des performances décentes.

    Les sockets acceptent parfaitement des flux binaires. Il y a d'autres soucis avec les flux binaires (gestion d'endianness / alignement notamment), mais la plupart des protocoles réseau fonctionnent ainsi.

  6. #6
    Membre à l'essai
    Inscrit en
    Septembre 2009
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 19
    Points : 10
    Points
    10
    Par défaut
    merci pour vos réponses , le jour ou j'en aurais vraiment besoin peut etre que je metterai en place une sorte de définition xml en ligne et la reccuperer à l'autre bout.

    voici un lien vers un cours en ligne que je trouve assez bien complet :

    http://www.linux-france.org/prj/edu/...eme/index.html

    c'est un cours sur les serveurs et j'ai pas encore le niveau pour le lire..à vous alors

Discussions similaires

  1. Programmation reseau: socket en C et RMI
    Par palaki dans le forum Réseau
    Réponses: 2
    Dernier message: 29/07/2008, 22h04
  2. programmation reseau: socket en C ou RMI
    Par palaki dans le forum Entrée/Sortie
    Réponses: 3
    Dernier message: 29/07/2008, 16h41
  3. Programme reseau en c++
    Par schnito dans le forum Windows
    Réponses: 3
    Dernier message: 14/01/2004, 00h44
  4. programmation reseau - couche 2 du modele osi
    Par sahor dans le forum C++Builder
    Réponses: 3
    Dernier message: 06/11/2002, 18h33

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