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 :

Création d'un jeu de carte en réseau


Sujet :

Réseau C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    433
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 433
    Par défaut Création d'un jeu de carte en réseau
    Bonjour,

    J'ai comme projet un jeu de carte en réseau.
    Chaque joueur joue tour à tour.

    Je voudrais faire cette application en réseau, mais j'ai cependant toujours des questions. Par exemple, est-il plus intéressant d'utiliser TCP ou UDP ?

    Je pensais faire un système client/serveur avec plusieurs clients.
    Le serveur créer la partie, et les clients s'y connectent. Ensuite, il faudrait établir un protocole de communication: le serveur envoie des messages (par exemple: c'est à vous de jouer, un tel à joué cela,...) et les clients également lorsque c'est à leur tour de jouer (exemple: cartes jouées).

    Merci de me donner un coup de pouce car je ne voie pas du tout comment commencer cette application.

  2. #2
    Membre Expert
    Avatar de Senji
    Inscrit en
    Juillet 2008
    Messages
    1 144
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 144
    Par défaut
    quel est ton niveau en langage C?
    Quel est ton niveau de connaissance sur le réseau?
    Comprends tu la diffférence entre TCP et UDP? => sinon t'auraispas posé la question
    as tu déjà codé une applis où c'est une première?

    bye

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    433
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 433
    Par défaut
    J'ai un bon niveau en C, pour ce qui est de la programmation réseau j'en ai déjà fait à l'IUT il y a plusieurs mois. Cela dit, il s'agissait de petite application d'échange très simple (sur le modèle des cours de Developpez que j'ai passé en revue pour me rafraîchir la mémoire) mais même dans celles que j'ai faite il ne me semble pas qu'il y avait plusieurs clients.

    On peut donc supposer que j'ai des bases mais que je n'ai jamais codé d'application (si ce n'est juste le fait d'envoyer une chaîne de caractère d'un coté à un autre...!).

    Et sinon je ne comprends pas trop la différence entre le mode connecté et non connecté en fait étant donné que l'on peut faire la même chose dans les deux cas.


    Le plus gros problème qu'il me reste à résoudre est de savoir comment faire un serveur qui communique avec plusieurs clients via des messages qui vont dans les deux sens. Sachant qu'un message client devra pouvoir être identifié (pour savoir quel client fait quelle action).

  4. #4
    Membre Expert
    Avatar de Senji
    Inscrit en
    Juillet 2008
    Messages
    1 144
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 144
    Par défaut
    salut,

    ce lien sur le forum donne des base sur le multi clien / serveur, cela t'aidera déjà à comprendre les pièces du puzzle.

    bye

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    433
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 433
    Par défaut
    Je n'arrive toujours pas à voir comment on fait pour gérer plusieurs clients.
    J'ai scruté l'exemple du 3e lien dans la discussion, il s'agit d'un serveur multiclient qui retourne l'heure à tous les clients (Serveur - Client).

    Le problème dans cet exemple, c'est que le serveur boucle sur accept (qui est bloquant) et à chaque fois qu'il recoie un client, un nouveau thread est crée. Dans mon cas, il faudrait que le serveur soit connecté à tous les clients dans le même fil d'exécution, et puisse échanger des messages avec les clients (et il doit donc aussi être capable d'identifier un message entrant).

  6. #6
    Expert confirmé
    Avatar de Melem
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2006
    Messages
    3 656
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 3 656
    Par défaut
    La méthode la plus naturelle c'est de faire un serveur multithreadé (un thread pour "l'application", un thread pour l'accept et un thread pour chaque client connecté). Une méthode encore plus simple mais pas très performante consiste à utiliser des sockets non bloquants (c'est-à-dire qui ne bloquent pas les fonctions comme accept, recv, etc.). Tu pourras ainsi faire un accept en boucle par exemple sans bloquer l'application. Si tu es sous Windows, la meilleure solution (à la fois simple et efficace) est d'utiliser WSAAsyncSelect. Je ne dirais pas autant de sa version portable qui est select.

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

Discussions similaires

  1. Création d'un jeu de cartes
    Par andyajram dans le forum Général Java
    Réponses: 7
    Dernier message: 05/06/2013, 14h40
  2. Création d'un jeu de carte
    Par thebarbarius dans le forum Général Conception Web
    Réponses: 5
    Dernier message: 08/07/2010, 20h50
  3. Création jeu de carte
    Par guti134 dans le forum Général Java
    Réponses: 3
    Dernier message: 20/05/2009, 20h57
  4. IA avec un jeu de cartes
    Par Captain_JS dans le forum Intelligence artificielle
    Réponses: 3
    Dernier message: 07/02/2005, 10h07
  5. Création d'un "remote server" sur un réseau
    Par Papino dans le forum Débuter
    Réponses: 2
    Dernier message: 05/09/2004, 16h49

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