ich benötige für ein Modul einen HTTP/2 Client, der Server Push Nachrichten empfangen kann. Wenn ich es richtig verstanden habe, benötige ich etwas ähnliches wie den SSE Client - nur eben auf HTTP/2 Basis.
Habe noch keine Lib für PHP gefunden, die HTTP/2 vollständig implementiert. Für die anderen HA-Systeme auf Basis von Python oder NodeJS gibt’s ja schon libs dafür.
Hat jemand eine Idee, wie man das in Symcon bekommt?
Da ich den Rückkanal dauerhaft aufrecht erhalten muss, müsste ich dauerhaft einen PHP-Thread laufen habe. Das ist eher nicht im Sinne des Erfinders - auch wenns inzwischen in IPS wohl möglich wäre.
Aktuell sehe ich nur die Möglichkeit, das Protokoll selbst zu implementieren und in Verbindung mit einem Client-Socket zu nutzen. Das wär wohl zu viel Aufwand für mich.
Vielleicht hat ja noch jemand eine andere Idee…
Hatte nur curl/libcurl geschaut, da ist es wohl noch enthalten.
Das mit dem ClientSocket wäre bestimmt eine Möglichkeit, aber warum permanent eine Verbindung aufrecht erhalten?
Server Push war nie für Events/Rückkanal gedacht, ist ja total daneben wenn die das dafür nutzen.
Onvif und die Bosch SmartHome API nutzen auch eine Art von HTTP Push, auch wenn es jeweils anders genannt wird.
Da wird eine Verbindung aufgebaut und so lange aktiv gehalten, bis entweder Daten von der Gegenseite gepusht werden, oder das Timeout erreicht ist. Anschließend wird wieder eine neue Verbindung aufgebaut.
Das funktioniert mit curl in PHP sehr gut.
Michael