[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: |
philippe brochard |
Subject: |
Re: Rep:Re: [Maitretarot-devel-fr] le client fonctionne :) |
Date: |
23 May 2002 12:14:38 +0200 |
User-agent: |
Gnus/5.09 (Gnus v5.9.0) Emacs/21.2 |
"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--------------------------------------
- Rep:Re: [Maitretarot-devel-fr] le client fonctionne :), Nicolas Boulay, 2002/05/22
- Re: Rep:Re: [Maitretarot-devel-fr] le client fonctionne :), address@hidden, 2002/05/23
- Re: Rep:Re: [Maitretarot-devel-fr] le client fonctionne :), address@hidden, 2002/05/23
- Re: Rep:Re: [Maitretarot-devel-fr] le client fonctionne :),
philippe brochard <=
- Re: Rep:Re: [Maitretarot-devel-fr] le client fonctionne :), address@hidden, 2002/05/23
- Re: Rep:Re: [Maitretarot-devel-fr] le client fonctionne :), address@hidden, 2002/05/23
- Re: Rep:Re: [Maitretarot-devel-fr] le client fonctionne :), address@hidden, 2002/05/24
- Re: Rep:Re: [Maitretarot-devel-fr] le client fonctionne :), address@hidden, 2002/05/24
- Re: Rep:Re: [Maitretarot-devel-fr] le client fonctionne :), address@hidden, 2002/05/24