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

Discussion :

Débuter dans la programmation de serveurs et clients

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Programmation en loisirs
    Inscrit en
    Septembre 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Programmation en loisirs

    Informations forums :
    Inscription : Septembre 2011
    Messages : 6
    Points : 1
    Points
    1
    Par défaut Débuter dans la programmation de serveurs et clients
    Bonjour chers développeurs,

    Je maîtrise déjà bien HTML, CSS et très bien PHP et AS3 sous Flash CS3 (Et je suis assez bon en codage Python et java) et j'ai décidé de créer un mini-jeu "pokémon" en ligne (multijoueur) pour m’entraîner en AS3 exécutable depuis une page web.
    J'ai donc décidé d'utiliser un client flash sous actionscript 3.
    Certaines interactions entre le jeu et la base de donnée s'effectuerons en PHP. Par exemple, pour voir l'argent du personnage, il y a un fichier sur localhost se nommant getMoney.php?id=XX, et qui renvoie la monnaie du personnage.
    Cependant, pour la gestion des déplacements en réseau (en temps réel), il faudrait absolument utiliser un serveur pouvant gérer les Threads (si je me suis bien renseigné), et PHP serait déconseillé pour cela.
    Qu'en pensez vous ? Quel langage prendre pour le serveur (parmi ceux que je maîtrise déjà) ? Des tutoriels les concernant ? Des vidéos qui montrent le résultat ? Auriez vous des codes sources de jeux de ce genre pas trop complexe à étudier ?
    Je voudrais que le serveur soit une interface de commandes où l'on voit les connexions, les achats etc... je ferais un système de logs.

    Je privilégies Python car c'est un langage que je trouve très simple. Je sais que Java est tout de même une meilleure référence en matière de serveurs d'après certains internautes, mais je préférerais faire mon serveur sous Python.

    Merci d'avance...
    DarkOfPhp

    PS : Soyez simples, je suis encore un fœtus de la programmation

  2. #2
    Membre expérimenté
    Avatar de Gruik
    Profil pro
    Développeur Web
    Inscrit en
    Juillet 2003
    Messages
    1 566
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 566
    Points : 1 727
    Points
    1 727
    Par défaut
    Hello

    Effectivement si tu veux vraiment du temps réel (les actions d'un joueur se reproduisent aussi tôt que possible chez les autres joueurs), il faudrait partir sur une application serveur "custom" qui n'est pas un serveur web. Cela nécessite de connaître la programmation de sockets sur le client et sur le serveur, et d'inventer son propre protocole de communication (sauf si il existe des solutions qui facilitent ça).
    Maintenant ça s'improvise pas, surtout si c'est pour accueillir un nombre assez élevé de clients (MMO).
    Je n'ai pas d'expérience là dedans, mais il y aurait pas mal de problématiques à gérer comme :
    • la gestion de la synchronisation (ce qu'on voit dans le client ne serait qu'une estimation de ce qu'il se passe vraiment sur le serveur / comment gérer une action chez le client qui n'est pas possible dans l'état du joueur coté serveur)
    • la gestion des déconnexions et l'expulsion des clients qui ne répondent plus (coupure réseau)
    • la consommation des ressources sur le serveur en fonction du nombre de clients (scalability)
    • la consommation en bande passante à économiser

    Bref c'est un vrai sujet, dans les FPS et les MMORPG, ils ont mis beaucoup de temps à avoir qqch d'efficace. J'imagine qu'il y a de litterature là dessus mais j'en connais pas ; je te laisse chercher

    Python me semble un bon choix pour le serveur, je déconseillerais les langages bas niveau comme C/C++ si tu n'as pas d'expérience solide dessus (ce serait un bon moyen d'avoir le serveur qui crashe souvent ou a des fuites mémoire)
    Tu peux déjà commencer par essayer de faire un serveur de chat (clients en flash) pour te faire la main

    Edit:
    Il y a possibilité de faire un simili-temps réel avec un serveur web classique et des requêtes "infinies" (technique appelée "Long polling"), à voir si c'est possible d'utiliser ça côté client

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Programmation en loisirs
    Inscrit en
    Septembre 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Programmation en loisirs

    Informations forums :
    Inscription : Septembre 2011
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    Merci Gruik pour cette réponse très bien expliquée...
    Je compte donc bien m'orienter vers Python, en m'aidant du fameux émulateur Transformice qui lui même est en Python...
    Nous comptons en effet accueillir minimum 200 membres connectés, maximum 5000.

Discussions similaires

  1. Débuter dans la programmation hardware.
    Par kelepoc dans le forum C
    Réponses: 4
    Dernier message: 21/02/2011, 20h17
  2. Réponses: 3
    Dernier message: 21/06/2010, 18h45
  3. Choix de bonnes références pour débuter dans la programmation d'OS
    Par nschoe dans le forum Programmation d'OS
    Réponses: 8
    Dernier message: 01/04/2009, 15h42
  4. Réponses: 7
    Dernier message: 12/03/2008, 15h53

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