[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Rep:Re: [Maitretarot-devel-fr] le client fonctionne :)
From: |
Yves Mettier |
Subject: |
Re: Rep:Re: [Maitretarot-devel-fr] le client fonctionne :) |
Date: |
Wed, 22 May 2002 18:30:08 +0200 |
On 22 May 2002 17:48:19 +0200
philippe brochard <address@hidden> wrote:
> "Nicolas Boulay" <address@hidden> writes:
>
[...]
> > J'aime pas l'idée d'avoir plusieurs socket pour un m^me programe. De
> > plus, si les messages sont typés, cela évite d'avoir à gérer trop
> > finement les états des serveurs.
> >
> euh, moi je decouvre toute la partie communication en reseaux, donc
> si vous dites qu'il faut coder avec une seule socket, alors je vous
> suis (mode=pas contrariant :)
En fait, si on veut faire les choses bien, et rendre maitretarot
facilement extensible, je crois qu'il faudrait typer les messages.
En d'autres termes, et c'est un exemple: tout message devra etre precede
d'un gint. Ce gint, s'il est egal a zero, c'est le protocole. S'il est
egal a 1, c'est autre chose, a definir plus tard.
Au niveau des sockets et du nombre de sockets, c'est facile. Entre 2
programmes:
1/ si t'en as une, tu geres les differents types de messages en fonction
d'un element qui fait partie du protocole (comme le gint dont j'ai parle
ci-dessus)
2/ Si t'en as deux, tu geres les differents types de messages en
fonction de la ou ils viennent.
Cas 1: il faut etendre le protocole
Cas 2: il faut coder un truc pour lire les 2 sockets a la fois.
Et dans le cas 2, on bouffe une ressource de plus.
Donc cas 1=mieux. Et hop, t'as mon explication.
Yves
>
>
>
> Philippe
>
>
>
> > nicO
> >
> > -----Message d'origine-----
> > De: philippe brochard <address@hidden>
> > A: address@hidden
> > Date: 22/05/02
> > Objet: Re: [Maitretarot-devel-fr] le client fonctionne :)
> >
> > Yves Mettier <address@hidden> writes:
> >
> > > On 19 May 2002 17:11:31 +0200
> > > philippe brochard <address@hidden> wrote:
> > >
> > > >
> > > > Bon, ca y est j'ai enfin fini le client (il reste quand meme
> > > > la fin de partie et le jeux successifs a gerer).
> > > > Mais, on peut enfin jouer des cartes :)
> > > >
> > > > Il reste aussi quelques trucs qui posent problemes :
> > > >
> > > > - le chien est parfois accepte, parfois rejeter ?!?
> > >
> > > La, je peux rien dire.
> > > Je vais essayer d'implementer une fonction de dump des cartes dans
> > > un fichier. Comme ca, ce sera plus facile, lorsqu'il est refuse,
> > > ou meme dans d'autres situations, de mettre l'etat du jeu dans un
> > > fichier
> > texte.
> > > En collectionnant ce genre de dump, et en cas d'erreur, peut-etre
> > > pourra-t-on faire des rapprochements (style, le chien est toujours
> > > refuse quand il y a la carte <completer ici> dedans)
> > >
> > > >
> > > > - les gardes sans et contre font que le jeux est decale:
> > > > le joueur qui joue, joue en fait a la place du suivant :(
> > >
> > > Mmmmh, je vais voir.
> > >
> > > > Bon, j'ai fait les tests en enlevant la partie gestion des
> > > > cartes de maitretarot, maintenant je remet tout en place et je
> > > > fait des tests plus poussés.
> > >
> > > OK.
> > >
> > > De mon cote, je fais ca. Je vais aussi voir dans quelle mesure on
> > > peut faire evoluer le protocole. Il s'agirait de rendre possible
> > > aux
> > clients
> > > de faire du chat en plus du tarot. Tous les jeux font ca (enfin,
> > > total annihilation et starcraft, les deux jeux que je connais
> > > assez bien):
> > en
> > > plus de jouer en reseau, tu peux balancer un message aux autres.
> > >
> > Oui, ca pourrai etre une fonction marrante. Le probleme est de
> > savoir se qu'on fait si 2 joueurs qui jouent ensemble se "parlent de
> > leur jeu"(par
> > se moyen ou par un autre). Comment les empecher de tricher ???
> >
> > > En attendant, je propose deux methodes qui sont faisables:
> > > - soit on change le protocole pour rendre cela possible (style, on
> > > ajoute un gint qui est a zero pour le protocole actuel, et a 1
> > > pour le chat)
> > > - soit on fait un second serveur completement independant (tu
> > > aimes
> > les
> > > usines a gaz?), ce qui signifie 2 sockets par clients pour se
> > connecter
> > > au serveur.
> > >
> > > Je suis partisan du 1, mais je sais que le 2 est plus rapide a
> > > faire,
> > et
> > > plus facile aussi. Je suis partisan du 1 parce que le 2 n'est rien
> > > d'autre que le demarrage d'une usine a gaz. Au passage, notons que
> > > le
> > 2
> > > n'est rien d'autre que le sujet de mon article des briques en C
> > > dans
> > le
> > > linuxmag de juillet.
> > >
> > moi je crois que je suis plus partisant du 2. Je pense que le chat
> > n'a rien a faire dans le protocole du jeu de tarot. Comme le jeu et
> > le chat sont 2 choses deconnectees, ca me parait plus logique
> > d'avoir un canal bien distinct pour chaque choses (ca evitera les
> > spaghettis dans le protocole). Enfin le 2 veut aussi dire des
> > threads dans le client, donc le code n'est pas evident non plus.
> >
> > Enfin, je n'aime pas trop les usines a gaz, donc pour l'instant pour
> > faire du chat il y a l'IRC...
> >
> > >
> > >
> > > Autre point de discussion: il faudrait faire une TODO list avec
> > > les choses a faire avant de pouvoir annoncer maitertarot. Je
> > > voudrais
> > cette
> > > TODO list la plus petite possible bien sur ;-)
> > > Je la commence:
> > > - ajouter les annonces dans le protocole (un gint devrait suffire
> > > au
> > bon
> > > endroit)
> > > - Pas oblige de gerer ces annonces pour l'instant: le client
> > > envoie zero, et le serveur lit le gint mais ignore sa valeur. On
> > > pourra faire ca par la suite.
> > oui, c'est faisable.
> >
> > > - ajouter un systeme de verification des annonces: un joueur
> > > annoncant la poignee doit dire au serveur quels atouts montrer aux
> > > autres
> > clients.
> > > La, le protocole doit etre exhaustif sur les annonces et les
> > > verifications. Mais je crois qu'il n'y a pas un boulot enorme.
> > > - Ce systeme de verification peut etre implemente mais ignore de
> > chaque
> > > cote au debut. On pourra l'implementer par la suite.
> > un truc rigolo avec les annonces, c'est que le nombre de cartes a
> > montrer est variable (-> envoi du nb de carte a montrer, envoi des
> > cartes a montrer).
> >
> > > - ajouter au protocole un "voulez-vous rejouer?". Cela necessite
> > > un choix quand un client refuse et que les autres acceptent.
> > > - je pense qu'il faut implementer le "voulez-vous rejouer" et le
> > tester.
> > oui, ce ne doit pas etre trop dur a faire.
> >
> > > - Que fait le serveur (et les clients) si un client se deconnecte
> > > en cours de partie?
> > euh, pour l'instant il segfault et les clients aussi :)
> > il faut vraiment implementer qq chose pour corriger ca (dans net.c
> > de libmaitretarot ?)
> >
> > il faudra aussi gerer les pb de deconnection intempestive et voir
> > si le client peut se reconnecter.
> >
> > >
> > >
> > > Si j'ai rien oublie, on devrait pouvoir annoncer un maitretarot et
> > > un client fonctionnels, meme si on n'est meme pas en phase beta de
> > > developpement.
> > >
> > oui, on peut commencer a le rendre public, meme s'il reste du boulot
> > a faire pour les nouveaux clients/IA (lib_maitretarot_client ?)
> >
> >
> > Philippe
> >
> > --
> > ,-------------------.
> > ,---------------,----------------------.
> > | Philippe Brochard | ... | address@hidden | http://hocwp.free.fr
> > | |
> > `------------------(_ (. .)
> > `---------------'----------------------'-------------------ooO--(_)
> > --Ooo--------------------------------------
> >
> > _______________________________________________
> > Maitretarot-devel-fr mailing list
> > address@hidden
> > http://mail.freesoftware.fsf.org/mailman/listinfo/maitretarot-devel-fr
> >
> >
> > ___________________________________________________________________
> > ___________ ifrance.com, l'email gratuit le plus complet de
> > l'Internet ! vos emails depuis un navigateur, en POP3, sur Minitel,
> > sur le WAP... http://www.ifrance.com/_reloc/email.emailif
> >
> >
> >
> > _______________________________________________
> > Maitretarot-devel-fr mailing list
> > address@hidden
> > http://mail.freesoftware.fsf.org/mailman/listinfo/maitretarot-devel-fr
> >
> >
>
> --
> ,-------------------. ,---------------,----------------------.
> | Philippe Brochard | ... | address@hidden | http://hocwp.free.fr |
> `------------------(_ (. .) `---------------'----------------------'
> -------------------ooO--(_)--Ooo--------------------------------------
>
> _______________________________________________
> Maitretarot-devel-fr mailing list
> address@hidden
> http://mail.freesoftware.fsf.org/mailman/listinfo/maitretarot-devel-fr
--
- Homepage - http://ymettier.free.fr -
- GPG key - http://ymettier.free.fr/gpg.txt -
- MyAM - http://www.freesoftware.fsf.org/myam -
- GTKtalog - http://www.freesoftware.fsf.org/gtktalog -