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

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

Rep:Re: [Maitretarot-devel-fr] nouveau protocole


From: Nicolas Boulay
Subject: Rep:Re: [Maitretarot-devel-fr] nouveau protocole
Date: Tue, 17 Dec 2002 12:48:12 GMT

Si tu copie les RPC tu n'es pas du tout stateless et tu va jouer avec
leur énorme problème.

Quand tu fais une modification d'état (un write == send), tu envoie les
paramètres avec la commande. C'est simple, c'est facile,...

Si tu fais une lecture d'état(read == get). C'est beaucoup plus
complexe.
 
Client.-.Server
req....->....
......<-.answer

Donc, le client se mets en attente d'une réponse, qui peut ne jamais
venir, autre chose peut arriver...etc.. (dans un vrai rpc, rien d'autre
que la réponse ne peut arriver, c'est donc plus simple)

Si tu fais une "request", l'autre répond par un "send". Mais le client
n'attends pas de réponses (non bloquant). Il tient ensuite compte de
tous les messages qui arrivent.

Cela se ressemble beaucoup et c'est sans doute ce que tu allais
effectivement codé, mais c'est fondamentalement différents d'un RPC.

Le fait de balancer tous l'état permet de sauver des parties. Mais bon
8k, cela commence à faire (8k ?? tu comptes quoi ? 18 cartes (~54) +
18*4 cartes max (72*3=216) dans les plis + chiens (6*3=18) + enchère
(~5) + nicks (4*10=40) = 333 octets, on est bien loin du kilo octets et
cela laisse toujours de la marge pour être humain readable! ) ! Comment
tu trouves tes 8 k ?

nicO

-----Message d'origine-----
De: "Yves Mettier" <address@hidden>
A: <address@hidden>
Date: 17/12/02
Objet: Re: [Maitretarot-devel-fr] nouveau protocole


> "Yves Mettier" <address@hidden> writes:
>
>> > Globalement, le truc le plus simple, c'est : en cours de jeu, le
>> serveur envoie toutes les données (après que chaque joueur est joué)
>> qu'il a avec un flag "à toi de jouer". Comme ça, il n'y a qu'un seul
>> type de message.
>>
>> T'es violent, toi.
>> Ca fait quasi 8k dans l'etat actuel des choses. Et tu voulais faire
ca
>> en udp!?
>>
>>
>> >
>> > On mets un timeout sur la réponse, tu renvoie 2-3 fois, puis après
>> tu envoie le paquets à tous avec un flags en "erreur". C'est ça le
>> vrai stateless:)
>>
>> On laisse tomber le stateless.
>> On va s'inspirer des rpc en fait.
>>
>> > Il faut envoyer ses cartes restant, des flags (erreur ou pas, son
>> tour de jouer ou pas,...), les plis (l'équipe du preneur puis
>> l'autre), le paris, les annonces, tout quoi. 1 seul message avec
>> l'état dedans (erreur ou pas, etc...)
>>
>> Outre le fait qu'on laisse tomber le stateless, sachant
>> qu'actuellement, ca fait environs 8k et y'a pas de format, si on le
>> formate, ca risque de prendre encore plus!
>>
> on peut faire les 2 :
>
>   * la version avec juste les fonctions quand tout va bien
>
>   * tout l'etat (depuis le debut) quand un client est paume
>         (ex apres une deconnexion).

On fonctionne avec un systeme de procedures, pas avec un systeme de
variables.
Donc on aura une procedure pour envoyer tout l'etat du systeme et
reinitialiser le client a la volee, c'est evident.
Mais devra-t-on appeler cette procedure avant tout appel d'autre
procedure? je n'en vois pas l'interet.

Yves

-- 
- Homepage - http://ymettier.free.fr - http://www.cmg.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.nongnu.org/mailman/listinfo/maitretarot-devel-fr
_____________________________________________________________________
GRAND JEU SMS : Pour gagner un NOKIA 7650, envoyez le mot IF au 61321
(prix d'un SMS + 0.35 euro). Un SMS vous dira si vous avez gagné.
Règlement : http://www.ifrance.com/_reloc/sign.sms

_____________________________________________________________________
GRAND JEU SMS : Pour gagner un NOKIA 7650, envoyez le mot IF au 61321
(prix d'un SMS + 0.35 euro). Un SMS vous dira si vous avez gagné.
Règlement : http://www.ifrance.com/_reloc/sign.sms





reply via email to

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