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

Langages de programmation Discussion :

[Choix de langage et methode] Création de serveur


Sujet :

Langages de programmation

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 3
    Par défaut [Choix de langage et methode] Création de serveur
    Bonjour,

    Cela fait pas mal de temps que je travaille sur un projet Flash AS3, c'est un jeu multijoueurs en 2D isométrique type Dofus, sauf qu'on joue aux cartes à collectionner contre d'autres joueurs.
    Le jeu fonctionne très bien mode solo/offline, maintenant mon but est de l'adapter pour jouer à plusieurs, cependant je n'ai aucune expérience dans la gestion d'un serveur.

    Après des petites recherches, il y a plusieurs tutoriaux qui m'ont bien guidé sur la logique du processus. Mon choix est de créer le serveur moi même, car ceux du type smartfox sont... chers et ne pas le programmer c'est ne pas le connaître et donc être limité.

    Pour le moment je coince sur la procédure à suivre pour créer mon logiciel serveur. Je ne sais pas trop par où commencer, il n'y a pas vraiment d'aide dans le cas où je suis. Voici mes questions :

    1/ Quel langage collera le mieux avec Flash ? (surtout pour moi m'adapter plus rapidement, car je ne crois pas que ça a une influence), actuellement j'ai surtout vu ressortir Java, C++ et Delphi mais quelles sont les différences ?

    2/ Quel genre de base de donnée faut il utiliser pour la sauvegarde des informations d'un compte (cartes possédé, contenu d'un deck, objets gagnés, argents...) ? Est-ce que la BDD SQL de mon hebergeur web peut suffir où il faut mieux ?

    3/ Si on s'y met à fond Apprentissage + Developpement, combien de temps faut il pour lancer un début de programme qui est capable d'identifier un client, tchater et deconnecter avec la securité contre le piratage ?

    4/ Je compte prendre une serveur en location, mais comment calculer ses besoins en matière de puissance en sachant ceci :

    Question performance que j'ai besoin, disons qu'on va d'une fourche de 100 personnes simultanées pour commencer à 1000 par la suite.
    Il y aura prêt de 1000 maps, qu'on peut toute représenté par un salon de t'chat, sauf qu'en plus de l'envoi/reception de texte il faut prendre en compte aussi le déplacement des avatars. En gros un client envoi des infos toutes les 4 secondes en moyenne. Et le serveur receptionne 5 infos par secondes et en envoi 20 pour 30 personnes connectés.
    Le serveur gère la base de donnée et donc à chaque reception il met celle-ci à jour.


    Merci de votre aide

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    351
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 351
    Par défaut
    Sinon au lieu de smartfox server tu as ça :
    http://www.reddwarfserver.org/

    C'est mieux et c'est entièrement gratuit (open source ) , même pour un projet commercial pour tout le code qui correspond au jeu.

    Pourquoi mieux car il y a la partie persistance des données incluse dans le projet ça t'évite d'utiliser une bdd type mysql.

    De plus il y a déjà plusieurs api clientes pour faire communiquer avec un client purement as3.


    Maintenant si tu veux toujours tout faire toi même dans ce cas pour répondre à tes questions :

    1) Pour le langage celui que tu veux cela importe peu , pour les 3 cités tu pourras faire les mêmes choses. Vu que tu viens de l'as3 , il vaut mieux que tu t'orientes vers du java. C'est ce qui va rapprocher le plus de l'as3 et te demander le moins de temps pour l'apprentissage.

    2) Si tu restes sur du classique , donc pas ce que je citais avec reddwarf qui utilise une bdd orienté objet. La bdd ton hébergeur est très bien ! Il te faudra rien spécial de plus. Si la montée en charge est importante tu pourras toujours déplacé ta bdd sur un serveur dédié à elle seule.

    3) Quelques jours à des mois , si tu veux vraiment tout faire par toi même et que tu as aucune connaissance en multi-threads, sql , java , et que tu fais pas de copier coller de ce qui traîne sur le net sans réellement comprendre le code.

    Mais pour le reste tu vas mettre énormément de temps , car le développement dans un environnement multi-threading est loin d'être simple. Il va te falloir un thread principal qui écoute les requêtes des clients, il va gérer un pool de thread qui va déléguer chaque requête à un thread. Il va te falloir créer un protocole de communication , savoir si tu vas envoyer directement des objets , si tu utilise amf . Va falloir que tu gère les transactions , c'est à dire grouper les requêtes, empêcher l'accès aux données quand un thread est déjà en train de les modifiers ect ...

    4) Tu t'en fou , tu verras ça quand le jeu va fonctionner mais bon au début un serveur à 30 euros/mois et amplement suffisant.

    Bonne chance

Discussions similaires

  1. [Choix de langage] Développement serveur
    Par Azursky dans le forum Langages de programmation
    Réponses: 1
    Dernier message: 22/07/2015, 17h06
  2. Réponses: 0
    Dernier message: 10/03/2013, 17h33
  3. Choix de langages pour intéractions serveur/application ?
    Par JMarshall dans le forum Général Conception Web
    Réponses: 2
    Dernier message: 28/01/2011, 15h36
  4. [Web] Choix du langage serveur
    Par Jihnn dans le forum Langages de programmation
    Réponses: 9
    Dernier message: 02/03/2010, 21h54
  5. Choix de langage et port série
    Par ulmi dans le forum Langages de programmation
    Réponses: 4
    Dernier message: 10/06/2004, 18h57

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