krn.GetChannelGUID

Dieser Job liefert die GUID des aktuell geöffneten Server-Kommunikationskanals (Channel). Die Channel-GUID wird zur eindeutigen Identifizierung der Verbindung in serverseitigen Logs und Session-Tabellen verwendet.

Der Job ist in der offiziellen enaio®-Kernel-Engine-Übersicht nicht gelistet. Diese Beschreibung wurde aus dem Aufruf-Code des enaio-jobs-custom-Templates rekonstruiert.

1. Eingabeparameter

Name Typ Pflicht Beschreibung

Flags

INT

Ja

Reserviert; stets 0 übergeben.

2. Ausgabeparameter

Name Typ Abhängigkeit Beschreibung

ChannelGUID

STRING

GUID des aktuellen Kommunikationskanals.

3. Rückgabe

(INT): 0 = Job erfolgreich, sonst Fehlercode.

4. Callback-Kanal (Server-Push)

Der Server kann Nachrichten über einen Callback-Kanal an einen Client pushen — eine zweite TCP-Verbindung mit vertauschten Rollen. Der Client:

  1. ermittelt mit diesem Job die Channel-GUID seiner Session;

  2. öffnet eine eigene Verbindung und registriert sie, indem er eine Methoden-Antwort sendet, deren einziger Parameter ActiveChannelGUID = <Channel-GUID> ist (Protokollversion 40 = ohne Digest, Version 50 = mit abschließendem SHA-1-Digest; der Server spiegelt die registrierte Version);

  3. empfängt danach vom Server gepushte Jobaufrufe und beantwortet jeden mit einer Methodenantwort (Rückgabecode plus optionale Fehler).

Zwei Arten gepushter Jobaufrufe wurden beobachtet:

Gepushter Callback-Job Ausgelöst durch

adm.On<Message>

krn.SendMessageToClients<Message> ist der Parameter Message; überträgt Info, Text und intern origprovenience.

krn.OnRegisteredJobCall

krn.RegisterJobCall — der Live-Job-Call-Monitor-Stream.

krn.AppsEventsSubscribe (Abonnement von krn.SessionLogin usw.) lieferte 0 zurück, stellte auf dem Testserver aber keine Events zu — selbst wenn das Abonnement auf derselben Session wie der Callback erfolgte. Der funktionierende Server-Ereignisstrom ist krn.RegisterJobCall.

5. Siehe auch