Start · Sprachen · PHP · Referenz · stomp_get_session_id

stomp_get_session_id

Funktion

Gibt die aktuelle Sitzungs-ID einer bestehenden Stomp-Verbindung zurück.

seit PHP 0.1.0 Kategorie: misc

Signatur

stomp_get_session_id(resource $link): string|false

Beschreibung

stomp_get_session_id() liest die vom Stomp-Broker zugewiesene Sitzungs-ID (Session-ID) aus einer aktiven Verbindungsressource aus. Diese ID wird beim Verbindungsaufbau vom Broker vergeben und kann zur Identifikation sowie zum Debugging von Verbindungen nützlich sein.

Die Funktion gehört zur prozeduralen Schnittstelle der PECL-Stomp-Erweiterung. Bei objektorientierter Verwendung steht die Methode Stomp::getSessionId() zur Verfügung, die dasselbe Ergebnis liefert.

Typische Anwendungsfälle sind das Protokollieren von Verbindungsdetails, das Nachverfolgen einzelner Clients in verteilten Systemen oder das Überprüfen, ob eine Verbindung erfolgreich aufgebaut wurde und eine gültige Sitzungs-ID besitzt.

Gibt false zurück, wenn die übergebene Ressource ungültig ist oder keine Sitzungs-ID abgerufen werden konnte.

Parameter

Name Typ Default Beschreibung
$link Pflicht resource Eine Stomp-Verbindungsressource, die zuvor mit stomp_connect() erstellt wurde.

Rückgabewert

Typ
string|false
Beschreibung
Gibt die Sitzungs-ID als Zeichenkette zurück, die vom Stomp-Broker zugewiesen wurde. Im Fehlerfall (ungültige Ressource oder keine Sitzungs-ID vorhanden) wird false zurückgegeben.

Beispiele

Sitzungs-ID einer Stomp-Verbindung auslesen

<?php
// Verbindung zum Stomp-Broker herstellen
$link = stomp_connect('tcp://localhost:61613');

if ($link === false) {
    die('Verbindung zum Broker fehlgeschlagen: ' . stomp_connect_error());
}

// Aktuelle Sitzungs-ID abrufen
$sessionId = stomp_get_session_id($link);

if ($sessionId !== false) {
    echo 'Sitzungs-ID: ' . $sessionId . PHP_EOL;
} else {
    echo 'Keine Sitzungs-ID verfügbar.' . PHP_EOL;
}

// Verbindung schließen
stomp_close($link);
Sitzungs-ID: id:broker-1234-5678

Objektorientierte Variante mit Stomp::getSessionId()

<?php
try {
    // OOP-Schnittstelle verwenden
    $stomp = new Stomp('tcp://localhost:61613');

    // Sitzungs-ID über Methode abrufen
    $sessionId = $stomp->getSessionId();

    if ($sessionId !== false) {
        echo 'Broker-Sitzungs-ID: ' . $sessionId . PHP_EOL;
    } else {
        echo 'Sitzungs-ID konnte nicht abgerufen werden.' . PHP_EOL;
    }

    unset($stomp);
} catch (StompException $e) {
    echo 'Fehler: ' . $e->getMessage() . PHP_EOL;
}
Broker-Sitzungs-ID: id:broker-abcd-efgh

// Wichtig · Fallstricke

Hinweis zur PECL-Erweiterung: Die Stomp-Erweiterung ist nicht standardmäßig in PHP enthalten und muss über PECL installiert werden (pecl install stomp). Ab PHP 7.x kann die Kompatibilität eingeschränkt sein; für aktuelle Projekte sollten Bibliotheken wie stomp-php in Betracht gezogen werden.

Die zurückgegebene Sitzungs-ID ist brokerabhängig und im Format nicht standardisiert. Verlassen Sie sich nicht auf ein bestimmtes Format für die Weiterverarbeitung.