=> Désolé, tu était peut-être entrain de répondre quand j'ai édité mon message d'avant.. Que penses-tu de cette solution ?Envoyé par Archaoniro
=> Désolé, tu était peut-être entrain de répondre quand j'ai édité mon message d'avant.. Que penses-tu de cette solution ?Envoyé par Archaoniro
EffectivementEnvoyé par Archaoniro
Celà dit, MySQL est une base de données locale non ?
- Dans ce cas il te faudrais peut-être une base de données Client/Serveur (comme FireBird
- Ou bien que tu passes par des répertoires partagés (auquel cas va pour MySQL)
- Ou bien de bêtes fichiers textes (au format CSV si tu veux faire de la base de données) disponibles sur un serveur FTP.
Bidouilleuse Delphi
Je vais donc opter dans un premier temps en tout cas pour cette option.
Il faudrait donc que j'arrive à faire déjà une modif de mon petit morpion pour qu'il sache lire et modifier une base de données.
Comme j'aime prendre de l'avance (lol) j'ai déjà fait des recherches hier soir, qui m'ont mené à Tmysql quelque chose, hélas ça s'arrête sur Delphi 5. Quelqu'un dit dans un forum qu'il suffit de modifier un chiffre pour que l'installe fonctionne (quelque chose comme Vcl50 devient Vcl60, j'ai donc testé avec Vcl60, 70, 80, 90... rien n'y fait)
Là, je vois qu'on peut utiliser DBExpress.. je vais donc chercher de ce côté......
@waskol : MySQL fonctionne à distance Donc pas de problème sur ce point-là.
Pour l'accès aux bases de données à partir de Delphi, préfère en effet dbExpress qui est la solution de BD que préconise actuellement Borland, et qui est donc la plus développée.
Mais pour l'utilisation d'une simple base de données, il faudrait d'abord être sûr que cela suffira à satisfaire les besoins de ton jeu. Sans oublier que de ne pas arrêter d'écrire dans une base de données pour indiquer les actions, ça veut dire des quantités astronomiques d'accès disque !
Je suis persuadé qu'un programme serveur serait plus approprié. Au moins, lui peut garder en mémoire vive les infos sur les parties en cours.
Pour l'hôte dans ce cas, c'est juste l'IP de l'ordinateur serveur (ou son nom de domaine, ou même 'localhost' si c'est le même ordi que le client). C'est le port qui permet de savoir à quelle application envoyer les données.
Pour démarrer un programme sur ton serveur, tu peux utiliser l'instruction PHP shell_exec en indiquant un fichier pour la sortie. Tu pourras trouver des infos supplémentaires sur cette astuce sur le site http://fr.php.net/. Bien entendu tu devrais aussi pouvoir le faire via une connexion SSH, si ton serveur te le permet.
sjrd, ancien rédacteur/modérateur Delphi.
Auteur de Scala.js, le compilateur de Scala vers JavaScript, et directeur technique du Scala Center à l'EPFL.
Découvrez Mes tutoriels.
Merci à vous !
J'avoue que sans ces infos en texte clair je serai encore perdu à chercher encore et encore et toujours, grâce à vous j'arrive mieu à comprendre comment faire certaine chose, qui souvent font défaut dans les tutaux (parce que souvent ceux qui lisent des tutaux ont déjà un certain niveau apparemment lol)
Sjrd, je me disais aussi qu'au niveau du nombre de requêtes (il en faudrait au moins une par seconde pour savoir en tout temps ce que font les autres, vive la misère) se serait peut-être lourd pour la base.
Si je comprends bien ce que tu dis, je peux faire un prog en .exe donc, le mettre sur mon site web et en faire le serveur du jeu, j'indique dans le programme client l'ip du site ou son nom de domaine et un port. Mais il faut donc que quelque chose sur mon serveur Apache reconnaisse le port en question et "connecte" le programme client au programme server ?
=> Je vais lire ce qu'il y a sur tes liens, ça m'aidera sans doute à mieu comprendre cette partie.
Je voudrais savoir une chose, bien qu'elle semble évidente à ce moment là : Si je fais de cette manière (donc programme serveur sur le site)
Il faut que le programme serveur ai sa propre base de données (laquelle choisir dans ce cas, DBE ?) ou peut-il se contenter de retenir des variables ?
Aussi je peux demander au programme serveur d'enregistrer de temps à autres (toutes les heures par exemples) les données du jeu ? Donc il faut que le programme serveur soit capable de récupérer ses variables (ou reconstruire sa base de données) avec les dernières données enregistrées en cas de redémarrage... ça va se compliquer effectivement lol
Oups je suis entrain de louper le catch....
Tu t'obstine à vouloir parler de ton Apache, alors qu'il n'a rien à faire dans l'histoire Apache c'est un programme comme un autre - un serveur comme un autre - qui écoute le port numéro 80 (le port HTTP). Donc ton programme va utiliser un autre port, et la connexion ne passera jamais par Apache Ce n'est pas Apache qui dispatche les connexions en fonction des ports, c'est le système d'exploitation lui-même.Envoyé par Archaoniro
Pour ton programme, il ne doit pas être en .exe (à moins que ton hébergeur tourne sous Windows, on ne sait jamais...). Ce doit être un exécutable Linux.
Je te conseille la FAQ Delphi, section Indy, pour bien débuter avec les clients/serveurs.
Tu peux bien entendu te contenter (en italique parce que je ne vois pas le propos d'un verbe si péjoratif ^^) de stocker le tout dans des variables (objets de préférence bien sûr ).Envoyé par Archaoniro
Et le serveur peut très bien accéder à la base MySQL que tu as déjà...
Dans le cas du Morpion, ce n'est même pas la peine de penser à cela. Ce n'est pas voir s'échapper une partie dans un redémarrage qui va faire fuir ton utilisateur (ça se passe finallement assez rarement quand même, hein ).Envoyé par Archaoniro
Dans le cas d'un projet plus important, il se peut que certaines données aient à être enregistrées... Mais ce n'est pas plus compliqué que de sauvegarder une partie dans un fichier
Te prends pas trop la tête là-dessus avant de commencer. Sache d'abord avoir un jeu fonctionnel pour te motiver
sjrd, ancien rédacteur/modérateur Delphi.
Auteur de Scala.js, le compilateur de Scala vers JavaScript, et directeur technique du Scala Center à l'EPFL.
Découvrez Mes tutoriels.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager