Signatur
Beschreibung
stomp_get_read_timeout() liest das Lese-Timeout einer bestehenden Stomp-Verbindungsressource aus. Das Timeout gibt an, wie lange blockierende Leseoperationen auf eine Antwort des Stomp-Servers warten, bevor sie mit einem Fehler abbrechen.
Der Rückgabewert ist ein assoziatives Array mit zwei Schlüsseln: sec für den Sekunden-Anteil und usec für den Mikrosekunden-Anteil des Timeouts. Beide Werte zusammen ergeben das vollständige Timeout-Intervall.
Diese Funktion ist nützlich, wenn man das aktuell gesetzte Timeout prüfen möchte, etwa bevor man es mit stomp_set_read_timeout() ändert oder um sicherzustellen, dass das gewünschte Timeout korrekt gesetzt wurde. Sie gehört zur prozeduralen Schnittstelle der PECL-Stomp-Erweiterung.
Die objektorientierte Entsprechung ist die Methode Stomp::getReadTimeout().
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $link Pflicht | resource | Eine gültige Stomp-Verbindungsressource, die zuvor mit stomp_connect() erstellt wurde. |
Rückgabewert
sec (Sekunden-Anteil, int) und usec (Mikrosekunden-Anteil, int) enthält.Beispiele
Lese-Timeout einer Stomp-Verbindung auslesen
<?php
// Verbindung zu einem Stomp-Server herstellen
$stomp = stomp_connect('tcp://localhost:61613');
if (!$stomp) {
die('Verbindung fehlgeschlagen: ' . stomp_connect_error());
}
// Aktuelles Lese-Timeout auslesen
$timeout = stomp_get_read_timeout($stomp);
echo 'Lese-Timeout: ' . $timeout['sec'] . ' Sekunden, ' . $timeout['usec'] . ' Mikrosekunden' . PHP_EOL;
stomp_close($stomp);
Timeout prüfen und bei Bedarf anpassen
<?php
$stomp = stomp_connect('tcp://localhost:61613');
if (!$stomp) {
die('Verbindung fehlgeschlagen: ' . stomp_connect_error());
}
$timeout = stomp_get_read_timeout($stomp);
// Wenn das Timeout weniger als 5 Sekunden beträgt, anpassen
if ($timeout['sec'] < 5) {
stomp_set_read_timeout($stomp, 5, 0);
echo 'Timeout wurde auf 5 Sekunden erhöht.' . PHP_EOL;
} else {
echo 'Timeout ist ausreichend: ' . $timeout['sec'] . 's ' . $timeout['usec'] . 'µs' . PHP_EOL;
}
stomp_close($stomp);
// Wichtig · Fallstricke
PECL-Erweiterung: stomp_get_read_timeout() ist Teil der PECL-Stomp-Erweiterung und steht nicht in der PHP-Standardinstallation zur Verfügung. Die Erweiterung muss separat installiert werden (pecl install stomp).
Das Stomp-Protokoll wird von Message-Brokern wie Apache ActiveMQ oder RabbitMQ (mit Stomp-Plugin) unterstützt. Beachte, dass die Stomp-PECL-Erweiterung seit einiger Zeit kaum noch aktiv weiterentwickelt wird. Für neue Projekte können alternativere Bibliotheken oder AMQ-spezifische Erweiterungen in Betracht gezogen werden.