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: address@hidden
Subject: Re: Rep:Re: [Maitretarot-devel-fr] le client fonctionne :)
Date: Thu, 23 May 2002 14:08:45 +0200

En gros, c'est ca.
man select
man poll

Moi, je suis pour select. Poll est sympa aussi mais est
moins portable (ca march sur solaris quand meme). select
est pas posix mais est super portable. pselect est posix,
mais c'est pas sur solaris2.6.
Bref, je prefere select.

A moins qu'on n'utilise le read non bloquand?


Yves

> "address@hidden"<address@hidden>
writes:
>
> [...]
>
> > > l'IRC est pas mal, mais avoir une gestion
centralisee
> > des messages (pour
> > > par exemple discutter pendant qu'on attend un autre
> > joueur qui n'est pas
> > > connecter) me semble etre une fonctionnalite
> > interessante.
> >
> > A nouveau, y'a irc et les autres pour ca. Mais si
c'est
> > facile a implementer dans maitretarot, allons-y!
> >
> Oui, enfin ce ne sera pas aussi facile a implementer
parce
> qu'on a programme les fonctions read_data et write_data
de
> telle sorte quelles soient bloquantes (on attend d'avoir
> lu/ecrit toutes les données pour passer a la suite. on
dit
> que c'est 'synchrone', non ?) alors que pour le chat il
faut
> une communication continue ('asynchrone' ?)
>
>
> Une solution avant d'utiliser les threads pour le
client pourrait
> etre de faire un truc du genre :
>
> pour les fonctions d'ecriture/lecture :
> ---------------------------------------
>
> write_data (data, canal)
> {
>   envoi (canal)
>
>   envoi (taille des donnees)
>
>   tant que (toute les donnees ne sont pas envoyer)
>   {
>      envoi (donnees)
>   }
> }
>
>
> canal, data = read_data ()
> {
>   lit (canal)
>
>   lit (taille des donnees)
>
>   tant que (toute les donnees ne sont pas lues)
>   {
>      lit (donnees)
>   }
> }
>
>
> pour les fonctions clients qui on besoin de lire :
> --------------------------------------------------
>
> ok = 0
> tant que (ok == 0)
> {
>   canal, data = read_data ()
>
>   if (canal == 1) affiche_chat (data)
>
>   if (canal == 0)
>   {
>      donnee_a_lire = data
>      ok = 1;
>   }
> }
>
> (enfin, il faudra faire se genre de structure a un
> niveau encore plus haut, parce que du 'affiche_chat'
> au niveau lecture n'est pas trop correct.)
>
>
> Le gros probleme c'est qu'il risque d'y avoir des
carambolages
> entre les programmes qui veulent lire et ecrire en meme
temps...
> (c'est pour ca qu'avec 2 sockets c'est plus facile a
faire,
> deconnexion entre le chat et le protocole de jeu).
>
>
>
> 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/maitreta
rot-devel-fr
>

--
homepage - http://ymettier.free.fr                   -
gtktalog - http://www.freesoftware.fsf.org/gtktalog  -
cardpics - http://www.freesoftware.fsf.org/cardpics/ -

--------------
Profitez des 2 offres exceptionnelles Tiscali !
"Internet Gratuit le Jour" et "Modem ADSL remboursé"
Cliquez ici, http://register.tiscali.fr/forfaits_ls/
Offres soumises à conditions.





reply via email to

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