Session
Qu'est-ce qu'une session ?
Une sessionest automatiquement créée dès qu'un client WebSocket se connecte au port 10001. Il y a une session par connexion. Lorsque la connexion est fermée, la session est supprimée, ainsi que ses paramètres.
Chaque session comprend les éléments suivants :
- Identifiantnumérique (attribué automatiquement par le service)
- Nomde profilau choix (à définir par vos soins)
- Une vue unique pour chaque périphérique : repères, montages, préréglages, filtres et transformations de l'espace de travail
Il est possible d'avoir plusieurs sessions ouvertes simultanément. Par exemple, vous pouvez exécuter une application Unity dans une session et surveiller le Hub « Haply » dans une autre. Chacune de ces sessions fait référence au même périphérique physique, mais dispose de ses propres paramètres de coordonnées.
Configuration du nom du profil
Nous vous recommandons vivement de définir le nom de votre profil dès votre premier message :
{
"session": {
"configure": {
"profile": {
"name": "co.mycompany.myapp:main-scene"
}
}
}
}
Raison importante :
- Haply Hubidentifieles simulations à l'aide de leur nom de profil et permet de régler les paramètres des appareils (espace de travail, références, montages, filtres) depuis son interface utilisateur.
- Ces modificationsseront conservées. La prochaine fois que vous lancerez la même application, Hub les réappliquera automatiquement sans que vous ayez à modifier le code.
- Les autres sessions (ou clients HTTP) sont,Sélecteur de session Vous pouvez spécifier votre session à l'aide du nom de profil :
?session=myapp:0。Le sélecteur de profil est*et?Comme nous acceptons également les cartes « Globewild »,?session=co.haply.hub::*:0Les espaces de noms de ce type fonctionnent même si l'on ne connaît pas le nom complet du profil.
Télécommande (paramètres entre les sessions)
Les paramètres d'une session peuventêtre reconfigurés depuis l'extérieur. Cela est possible aussi bien depuis une autre session WebSocket que depuis un client HTTP ne disposant pas de connexion WebSocket. C'est ainsi que le hub Haply permet d'ajuster les paramètres de l'application.
Le client HTTP utiliseun sélecteur de session pour spécifier la session appropriée :
# List all sessions
curl http://localhost:10001/sessions
# Look up a single session directly (path-form of the selector — same
# expressions as `?session=`, see Selectors for the full grammar)
curl http://localhost:10001/sessions/:myapp:0
# Change the basis on session with profile "myapp" (first match)
curl -X POST "http://localhost:10001/inverse3/0/config/basis?session=myapp:0" \
-H "Content-Type: application/json" \
-d '{"permutation": "XZY"}'
# Same, but target the first session in a namespace (profile wildcard)
curl -X POST "http://localhost:10001/inverse3/0/config/basis?session=co.haply.hub::*:0" \
-H "Content-Type: application/json" \
-d '{"permutation": "XZY"}'
Pour un exemple complet de gestion HTTP entre sessions, veuillez consulter letutoriel surla configuration HTTP à distance.