Logout/fr

From OpenSimulator

Jump to: navigation, search

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, 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.
Personal tools
General
About This Wiki