next up previous contents
suivant: Mises à jour en monter: Différents modes (réseau/local) précédent: Différents modes (réseau/local)   Table des matières

Problème des communications asynchrones

Pour illustrer ce qui suit, restons dans le cas de deux clients A et B connectés à la même session.

Supposons que le client A clique à un certain endroit de la page pour ajouter une note par exemple. La question qui se pose à ce moment là est : faut il traiter le clic (l'ordre) localement, en déduire que c'est un ajout d'une note, puis transmettre l'ordre (ajout d'une note) au serveur, ou alors transmettre tout simplement l'événement (clic à tel endroit), et permettre à chaque client de le traiter de son côté.

Le premier choix est plus coûteux en taille de chaîne transmise que le deuxième, en effet, pour un événement donné, il est presque toujours moins long de décrire la cause, que la conséquence, car pour l'ajout d'une note par exemple, il faut transmettre, sa hauteur, son code ASCII, ses attributs (altérations, points), le nombre de têtes si c'est un accord, etc. Alors que pour transmettre un clic, il suffit de transmettre les coordonnées et l'outil courant du client qui la produit.

Cette solution n'est valable que parce qu'il est certain que les différents clients exécutent rigoureusement le même programme (c'est la même applet). D'un autre côté, puisque tout passe par le serveur, celui-ci assure un ordre unique des actions dans le temps, c'est-à-dire qu'il garanti que tous les clients recevront les actions des différents utilisateurs dans le même ordre.


next up previous contents
suivant: Mises à jour en monter: Différents modes (réseau/local) précédent: Différents modes (réseau/local)   Table des matières
Nabil Bouzaiene 2000-07-12