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

avec Java Discussion :

[Jeu client/serveur] Faire le traitement plutôt côté client ou serveur ?


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Avatar de moithibault
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2009
    Messages : 124
    Par défaut [Jeu client/serveur] Faire le traitement plutôt côté client ou serveur ?
    Bonsoir ,
    Je fais actuellement un jeu de plateau (de type jeu d'échec) en réseau sur le modèle client/serveur .
    Le serveur permet à plusieurs clients de s'y connecter et gère des parties d'un joueur contre un autre (pendant ce temps les autres clients voyent la partie) .

    Dans un jeu d'échec il y a certaines règles à respecter , par exemple : la tour n'a le droit de se deplacer que dans ses lignes .
    Et je me demander si la vérification des règles devaient se faire du côté du client ou du serveur ?
    Je pense que si ça se passe côté client c'est moins sécurisé car si une personne utilise un client modifié il peut envoyer une fausse position et donc jouer un coup impossible , et si c'est du côté serveur ça ralentirais surement le temps de jeu mais au moins la règle est la même pour tout les clients .
    Qu'est ce que vous en pensez , quel est la règle en générale ?
    Et est-ce que vous avez des cours/tutoriels sur des applications client/serveur proche de la mienne ?
    Car c'est vraiment la première fois que je fais une application en réseau en utilisant les sockets , je n'ai pas de problèmes mais je me trouve souvent confronté à plusieurs choix sans savoir vraiment quel est le plus performant .


    Merci beaucoup .



    EDIT : j'ai trouvé un article sur wikipédia qui parle en partie de ça : http://fr.wikipedia.org/wiki/Client-serveur avec les types de clients , avantages/inconvénients .

  2. #2
    Membre très actif
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    182
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2009
    Messages : 182
    Par défaut
    serveur, tu creer un thread qui verifie la validiter du coup, tu pourrait utiliser un thread pool vu qu'une verification est assez courte pour ne pas devoir creer un nouveau thread chaque fois qu'un joueur veut valider un coup.

    en gros le joueur envoie son coup, sur son ecran le mouvement se fait, si le serveur n'accepte pas le coup, l'affichage du joueur revient comme avant son mouvement, sinon tu peut attendre la confirmation du serveur avant de bouger la piece sur l'ecran du client.

    il existe plusieur facon de faire, si tu as un bon serveur, le serveur pourrait lister les coups possible a chaque tour, donc sa prendrais par la suite moin de temps verifier si un coup fait partie de la liste des coups jouable que de commencer a calculer seulement quand le joueur joue son coup.

    tout depend de la facon que tu veux gerer l'affichage du cote client et de la puissance de ton serveur.

    edit: pour que le joueurs est l'illusion que son coup se joue en temps-reel vaut mieux calculer les coups jouable a l'avance au debut de chaque tour, pour que la confirmation arrive plus rapidement au joueur.

  3. #3
    Membre Expert Avatar de Nico02
    Homme Profil pro
    Developpeur Java/JEE
    Inscrit en
    Février 2011
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Developpeur Java/JEE
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 728
    Par défaut
    Citation Envoyé par javan00b Voir le message
    edit: pour que le joueurs est l'illusion que son coup se joue en temps-reel vaut mieux calculer les coups jouable a l'avance au debut de chaque tour, pour que la confirmation arrive plus rapidement au joueur.
    Je suis pas vraiment d'accord, ça reviens au final à calculer tous les coups possible pour ne garder que ceux qui respectent les règles, ce qui risque d'être assez long.. Autant calculer directement si le coup courant est valide.

    Sinon pour répondre à ta question biot22, je ne pense pas que faire le calcul sur le serveur sera beaucoup plus lent que de le faire en local. Tu perdras quelques millisecondes lors des envois mais je pense que cela reste négligeable. On peux prendre l'exemple des sites de poker en ligne où les règles sont analysées par le serveur, je pense que le temps de réponse est correct pour ce genre de jeu.

  4. #4
    Membre confirmé
    Avatar de moithibault
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2009
    Messages : 124
    Par défaut
    Merci

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

Discussions similaires

  1. Script maxl, appel par le client plutôt que par le serveur
    Par jsonline dans le forum EPM (Hyperion)
    Réponses: 1
    Dernier message: 20/05/2011, 14h40
  2. Projet client/serveur: faire une build windows/linux
    Par FabaCoeur dans le forum Code::Blocks
    Réponses: 6
    Dernier message: 22/02/2009, 14h07
  3. Réponses: 0
    Dernier message: 11/02/2008, 18h01
  4. Réponses: 1
    Dernier message: 26/04/2007, 15h09
  5. Réponses: 4
    Dernier message: 09/12/2005, 15h48

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