Zum Hauptinhalt springen

Sitzungen

Was ist eine Sitzung?​

Eine Sitzung wird automatisch erstellt, wenn sich ein WebSocket-Client mit dem Port 10001 verbindet. Eine Verbindung entspricht einer Sitzung. Wenn die Verbindung geschlossen wird, wird die Sitzung beendet und ihre Konfiguration gelöscht.

Jede Sitzung umfasst:

  • Eine digitale ID (die vom Dienst automatisch vergeben wird)
  • Ein optionaler Profilname (den Sie selbst festlegen)
  • Die jeweilige Ansicht jedes Geräts: Basis, Montage, Voreinstellung, Filter und Transformation des Arbeitsbereichs

Es können mehrere Sitzungen gleichzeitig bestehen, beispielsweise Ihre Unity-Anwendung in einer Sitzung und „ Haply Hub“, das in einer anderen Sitzung überwacht. Jede Sitzung sieht dasselbe physische Gerät, jedoch mit ihren eigenen Koordinateneinstellungen.

Profilnamen festlegen​

Es wird dringend empfohlen, bereits bei Ihrer ersten Nachricht einen Profilnamen festzulegen:

{
"session": {
"configure": {
"profile": {
"name": "co.mycompany.myapp:main-scene"
}
}
}
}

Warum das wichtig ist:

  • Haply Hub verwendet den Profilnamen, um Ihre Simulation zu erkennen und Ihnen zu ermöglichen, die Geräteparameter (Arbeitsbereich, Basis, Halterung, Filter) über die Benutzeroberfläche zu ändern.
  • Diese Änderungen werden gespeichert: Wenn Sie dieselbe Anwendung das nächste Mal ausführen, wendet Hub sie automatisch erneut an, ohne dass Sie Ihren Code ändern müssen.
  • Andere Sitzungen (oder HTTP-Clients) können Ihre Sitzung anhand ihres Profilnamens mithilfe eines Sitzungsauswahl : ?session=myapp:0. Profilauswähler akzeptieren auch Platzhalterzeichen * / ?, sodass ein Namensraum wie ?session=co.haply.hub::*:0 funktioniert, ohne dass man das vollständige Profil kennen muss.

Fernsteuerung (Konfiguration zwischen den Sitzungen)​

Die Geräte einer Sitzung können von außen neu konfiguriert werden, entweder über eine andere WebSocket-Sitzung oder über einen HTTP-Client ohne WebSocket-Verbindung. Auf diese Weise ändert derHaply -Hub die Einstellungen Ihrer Anwendung.

Der HTTP-Client verwendet Sitzungs selektoren, um die richtige Sitzung anzusteuern:

# 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"}'

Lesen Sie das HTTP-Tutorial zur Fernkonfiguration, um ein umfassendes Beispiel für die sitzungsübergreifende HTTP-Steuerung zu erhalten.