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 :

Un client Graphique.


Sujet :

Réseau C

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2012
    Messages
    118
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2012
    Messages : 118
    Points : 40
    Points
    40
    Par défaut Un client Graphique.
    Bonjour,
    Voila, je suis vraiment débutant en réseau, mes connaissances sont quasi-null.
    Je regarde cependant quelque tuto sur le net traitant de ce sujet, si vous avez des tuto réseau bien foutu je suis preneur. Donc, j'ai un projet à réaliser et le but c'est de créer un jeu réseau.
    Mon but est que mon serveur envoie des données à mon client graphique. Je voudrais avoir une petite idée sans rentrer forcément dans les détails techniques pour commencer.
    Voila le but du client graphique est de recevoir des informations permettant de dessiner l'état de la situation. Je voudrais savoir comment vous procéderiez pour réaliser ce type de client. Voici les points qui m’intéresses:
    -Quel type d'information envoyé: Moi j'avais dans l'idée d'envoyer les coordonnés de tous mes objet, après il faudrait savoir quant es-ce que tous mes objets ont été envoyé.
    -Sous quel forme envoyé les information:Je voudrais savoir si il est possible d'envoyé une structure contenant les infos de mes objets. Si vous avez une meilleur idée je suis preneur.
    Pour l'instant c'est les deux seul point sur lesquels je ne vois pas comment faire. Il y en à surement plein d'autre, mais si vous pouviez répondre à ces question se serait cool.
    Si j'ai dit n'importe quoi et que la communication réseau ne marche pas du tout comme ça, n'hésitez pas à me le dire.
    Merci.

  2. #2
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juin 2009
    Messages
    4 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 481
    Points : 13 679
    Points
    13 679
    Billets dans le blog
    1
    Par défaut
    Salut,

    Pour commencer, un tutoriel sur le réseau qu'on recommande très souvent ici : http://broux.developpez.com/articles/c/sockets/ Personnellement; j'ai appris le réseau avec celui-ci quand j'ai développé un jeu multijoueur en réseau lors d'un projet d'école

    Quel type d'information envoyé
    Toutes celles dont ton client aura besoin pour réaliser son affichage et qu'il ne peut pas déterminer seul.

    Sous quel forme envoyé les information:Je voudrais savoir si il est possible d'envoyé une structure contenant les infos de mes objets.
    Pour être très schématique, le réseau c'est un tuyau dans lequel tu envoies des octets. Le fait que cela correspondent à une structure, des entiers, des flottants, ou une photo de Mickael Jordan n'est qu'une question d'interprétation de ces octets par le récepteur. Il faut simplement mettre d'accord l'envoyeur et le récepteur sur la forme des données.

    après il faudrait savoir quant es-ce que tous mes objets ont été envoyé.
    Si ta liste a une taille fixe, alors ton client n'a qu'à lire autant de données que nécessaire. Si non, il suffit d'envoyer un code au début indiquant la taille ou une valeur spéciale de fin pour montrer que c'est la fin. Encore une fois, c'est une question de convention entre serveur et client.

    Avant de te lancer dans un truc super compliqué, fais déjà quelque chose de simple, par exemple envoyer un couple (forme, couleur) et tester la connectivité entre tes deux machines. Dans ton cas, une connexion TCP est adaptée (recommandée ?) car ton client a vraiment besoin de recevoir les données du serveur. Le mode TCP assure cela. Il faut également savoir qu'il est bien plus simple de rester sur le réseau local et de connaitre l'adresse IP du serveur quand on est client pour s'y connecter.

    De plus, code le maximum de choses sans réseau. Par exemple au début, tu pourras lire le couple (forme, couleur) dans une fichier pour tester la partie affichage sans te prendre la tête avec la partie réseau.

    Bon courage !

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2012
    Messages
    118
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2012
    Messages : 118
    Points : 40
    Points
    40
    Par défaut
    Merci de ta réponse.
    Pour être très schématique, le réseau c'est un tuyau dans lequel tu envoies des octets. Le fait que cela correspondent à une structure, des entiers, des flottants, ou une photo de Mickael Jordan n'est qu'une question d'interprétation de ces octets par le récepteur. Il faut simplement mettre d'accord l'envoyeur et le récepteur sur la forme des données.
    Il me semble que lors d'une communication il pouvait y avoir des pertes de paquets. J'ai entendu également que certain protocole permettait d'évité la perte de paquet. Je voudrais savoir si je doit m'assurer que le paquet est bien arrivé avant d'envoyer le prochain ? Et je voudrais également savoir si il y a un nombre d'octet limiter par l'envoi ?

    Merci.

  4. #4
    Membre confirmé
    Avatar de deletme
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2011
    Messages : 257
    Points : 519
    Points
    519
    Par défaut
    Salut,

    Comme te l'as indiquer Bktero, pour t'assurer de la bonne communication entre client serveur (éviter la perte de paquet par exemple) tu dois t'orienter vers le protocole de communication TCP.
    Seulement il faut bien réfléchir avant de choisir entre TCP et UDP. TCP te garantis que tous les paquets émis seront reçus (en les ré-emettant lorsqu'ils ont été perdus) ce qui peut te rajouter du trafic. UDP t'apportera une fluidité plus importante mais si un paquet se perd tant pis pour lui et à toi de gérer.
    Si tu ne peux pas te permettre de perdre des paquets --> TCP.

    Concernant la taille maximale de données utiles que tu peux envoyer, tout dépend du support que tu utiliseras : Ethernet ou Wifi (ou autre ?). Cette limite est indiquée par la MTU (Maximum Transmission Unit) et est, à titre d'exmple, de 1500 octets par défaut pour une communication Ethernet.
    "Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live."
    - Martin Golding
    Traduction obligatoire : "Toujours écrire du code en gardant en tête que le mec qui en assurera la maintenance est un psychopathe violent qui connait votre adresse"

  5. #5
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juin 2009
    Messages
    4 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 481
    Points : 13 679
    Points
    13 679
    Billets dans le blog
    1
    Par défaut
    deletme t'a très bien répondu sur la gestion des paquets perdus. Ce n'est pas ton problème, c'est celui de la pile réseau de ton OS. C'est elle qui gère. Toi, tu lui donnes des octets, elle les envoie. De l'autre côté, tu lui demandes de te donner les éléments reçus et elles te les donnent. Le découpage en paquet, l'émission des paquets, la ré-émission des paquets perdus, la manière de traduire une IP en adresse MAC, les paquets spécifiques émis lors d'une (dé)connexion, tout ceci ne regarde pas l'applicatif. C'est le principe de découpage en couches des réseaux, que tu retrouves dans le modèle OSI.

    De même, tu n'as pas besoin de te préoccuper de la MTU au niveau applicatif à ma connaissance. La MTU est un paramètre négocié par les équipements réseaux et tu n'as pas à la connaitre. De même, tu n'as pas à savoir si tu es en Wifi ou en Ethernet. Cela fait partie des couches basses d'un réseau, donc très loin de l'applicatif.

  6. #6
    Membre confirmé
    Avatar de deletme
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2011
    Messages : 257
    Points : 519
    Points
    519
    Par défaut
    Oui en effet, ce paramètre (MTU) est à prendre en compte uniquement lorsque l'on veut éviter que nos données soient fragmentés en plusieurs paquets. Il limite seulement le nombre de données contenues dans un paquet.
    "Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live."
    - Martin Golding
    Traduction obligatoire : "Toujours écrire du code en gardant en tête que le mec qui en assurera la maintenance est un psychopathe violent qui connait votre adresse"

Discussions similaires

  1. Quel est le meilleur client graphique pour MySQL ?
    Par Community Management dans le forum MySQL
    Réponses: 205
    Dernier message: 20/06/2023, 11h01
  2. Client graphique SFTP
    Par ScorpioMilo dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 28/03/2008, 11h16
  3. Client graphique MySQL
    Par K20 dans le forum Outils
    Réponses: 5
    Dernier message: 24/04/2007, 22h38
  4. Quel est le meilleur client graphique pour MS SQL ?
    Par tox dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 08/10/2005, 12h41
  5. Quel client graphique pour Postgres?
    Par Terminator dans le forum PostgreSQL
    Réponses: 8
    Dernier message: 20/04/2005, 19h16

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