Logout/fr
From OpenSimulator
Languages: |
English Français |
Contents |
Introduction
Cette page présente le processus de déconnexion lancé par un utilisateur pour quitter le viewer.
Déconnexion
Notes
- De nombreux viewers se déconnectent qu'ils reçoivent une confirmation du simulateur ou non. Par exemple, pour le viewer Linden 3.3.4, la déconnexion arrive toujours après 6 secondes.
- Une reconnexion alors que le processus de déconnexion n'est pas encore terminé, retardera la connexion, mais elle devrait tout de même réussir.
Key
key | description |
---|---|
GU | service des utilisateurs de la grille(Griduser) |
P | service des présences |
R | région occupée par l'avatar de l'utilisateur |
RCh | voisin de la région de l'avatar |
RFr | région contenant un ami |
V | viewer |
Communication
La communication se fait entre :
- Viewer et région (V <-> R)
- Région et service des utilisateurs de la grille (R -> GU)
- Région et service des présences (R -> P)
- Région et voisins (R -> RCh)
- Voisins et viewer (RCh -> V)
- Région et autres régions contenant des amis connectés de l'utilisateur (R -> RFr)
Étapes
Les étapes impliquant des écoutes ne sont pas exhaustives. Seules les opérations les plus importantes son listées :
- V->R, pour un départ d'utilisateur, le viewer envoie un paquet UDP LogoutRequest à la région.
- R->V, le simulateur répond immédiatement avec un paquet UDP LogoutReply.
- R, commence à démonter les structures spécifiques à une connexion LL.
- R, déclenche l'événement interne IClientAPI.OnConnectionClosed, ce qui provoque des écoutes vers
- R->GU, pour dire au service utilisateur de la grille que l'utilisateur s'est déconnecté.
- R->P, qui dit au service de présence que l'utilisateur s'est déconnecté.
- R, dit à la scène de commencer à nettoyer ses données de structure (c'est le gros du travail de nettoyage).
- R->RCh, dit à tous les voisins de fermer leurs agents enfants pour ce viewer.
- RCh->V, les voisins vont à leur tour dire au viewer que les régions sont fermée (en fait, pas nécessaire).
- R->RCh, dit à tous les voisins de fermer leurs agents enfants pour ce viewer.
- R, déclenche l'événement interne EventManager.OnClientClosed, ce qui provoque des écoutes vers
- R->P, pour demander au service des présences quels utilisateurs amis sont connectés.
- R->RFr, dire au régions contenant des amis connectés que l'utilisateur est déconnecté.
- R, déclenche un événement interne EventManager.OnRemovePresence (cela duplique OnClientClosed et devrait être supprimé dans le futur).
- R, dérezze les attachements de l'utilisateur, donc arrêt et sauvegarde de tous les états des scripts des attachements.
- R, dit aux autres avatars encore dans la scène, via le paquet UDP KillObject, que l'utilisateur est parti.
- R, supprime la présence de la scène et les structures du client et supprime les objets physics de l'avatar.