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: 24 May 2002 11:34:00 +0200
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2

"address@hidden"<address@hidden> writes:

> > "address@hidden"<address@hidden> 
> writes:
> > 
> > > > "address@hidden"<address@hidden> 
> > > writes:
> > > > 
> > > > > > 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 :)
> > > > > 
> > > > > Ooops, je me suis mal exprime. Tu viens de dire 
> ce 
> > > que je 
> > > > > voulais vraiment dire. Bref, on s'est compris!
> > > > > 
> > > > :)
> > > > 
> > > > > > 
> > > > > > > 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 !
> > > > > 
> > > > > OK. Un de ces jours ou on bossera en meme temps 
> au 
> > > meme 
> > > > > moment.
> > > > > 
> > > > Oui, ou alors on se sert de la libmaitretarot (avec 
> les
> > > > net.c et net.h en commun) tu modifie l'API de net.h,
> > > > dans les client/IA plus rien ne marche (mais on 
> sais 
> > > pourquoi),
> > > > on corrige les clients et on a un systeme de 
> > > communication avec
> > > > plusieurs canaux. reste plus qu'a voir comment on 
> > > l'utilise, mais
> > > > dans un premier temps, on peut ignorer se gint.
> > > 
> > > On peut effectivement se servir de libmaitretarot, 
> mais a 
> > > mon avis pas dans le sens ou tu l'entends.
> > > Les canaux dont tu parles, c'est dans des fonctions 
> haut 
> > > niveau. Tant qu'on fonctionne avec read_data et 
> > > write_data, il doit y avoir 100% compatibilite.
> > > 
> > ok, je crois que j'ai comris comment ca marche avec 
> select.
> > 
> > En fait, la fonctions read_data est bloquante pendant
> > n secondes (le temps de select) apres elle sort et 
> c'est aux
> > fonctions superieures d'interpreter le resultat (-> des 
> donnees
> > ou pas...)
> > 
> > 
> > c'est ca ?
> 
> Oui.
> Et en fait, je suis en train de me demander, si on met ca 
> dans read_data, si c'est select le plus approprie, ou si 
> un W_NOHANG ou je ne sais plus quel drapeau ne suffirait 
> pas.
> 
> Je crois qu'on va d'abord voir quel est le besoin reel. 
> Puis on codera en fonction le select ou le W_NOHANG.
> 
Ok, voir mail precedent.

Enfin, le but est de faire une fonction read_data "non
bloquante" dans le sens ou elle laisse la main au bout
d'un certain temps meme s'il n'y a pas de donnee a lire.
Apres faut voir comment on le fait...


Philippe

-- 
,-------------------.         ,---------------,----------------------.
| Philippe Brochard |   ...   | address@hidden | http://hocwp.free.fr |
`------------------(_  (. .)  `---------------'----------------------'
-------------------ooO--(_)--Ooo--------------------------------------



reply via email to

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