maitretarot-devel-fr
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Rep:Re: [Maitretarot-devel-fr] le client fonctionne :)


From: philippe brochard
Subject: Re: Rep:Re: [Maitretarot-devel-fr] le client fonctionne :)
Date: 22 May 2002 18:48:42 +0200
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2

Yves Mettier <address@hidden> writes:

> 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.
> 
d'ailleurs, ce gint peut etre a autre chose que 1 -> plusieurs canaux
possibles (comme un multiplexeur en electronique :)
ce n'est pas trop dur a faire, il suffit de modifier les fonctions
write_date et send_date et rajouter un parametre pour savoir sur quel
canal on envoi les donnees et de canal elles viennent (j'ai compris
comment ca marche :)

> 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.
> 
apres reflexion (voir plus haut) tout a fait d'accord pour la solution 1 !



Philippe


> 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  -
> 
> 
> _______________________________________________
> 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--------------------------------------



reply via email to

[Prev in Thread] Current Thread [Next in Thread]