1000 FAQ, 500 Anleitungen und Lernvideos. Hier gibt es nur Lösungen!
Verstehen von Callbacks und SOAP-Anfragen
Diese Anleitung beschreibt bestimmte Hintergrundoperationen, die vom Dienst VOD / AOD von Infomaniak durchgeführt werden.
Funktionsweise von SOAP-Anfragen und Callbacks
Im VOD-Dienst (Video on Demand) und AOD-Dienst (Audio on Demand) werden bestimmte Operationen wie das Herunterladen von Dateien über SOAP-Anfragen abgewickelt, ein Protokoll, das es zwei Systemen ermöglicht, miteinander zu kommunizieren, und häufig zum Austausch von Daten zwischen Servern verwendet wird.
Wenn eine Datei über SOAP angefordert wird, kann es eine Verzögerung geben, bevor der Server antwortet. Diese Verzögerung hängt von mehreren Faktoren ab, wie der Dateigröße, der Serverauslastung oder der Verbindungsqualität. Der Download beginnt so schnell wie möglich, aber es gibt eine Warteschlange: Wenn mehrere Benutzer gleichzeitig Anfragen stellen, wird jede Anfrage in der Reihenfolge bearbeitet, und jeder Benutzer hat eine Begrenzung für gleichzeitige Downloads.
Callback: Eine Benachrichtigung am Ende des Downloads
Ein Callback ist ein System, das den Client (z. B. Ihre Anwendung) benachrichtigt, sobald der Download abgeschlossen ist. Mit anderen Worten, anstatt auf den Download zu warten und ihn zu überwachen, "ruft" das System Sie an oder sendet eine Antwort, wenn alles bereit ist. Das ist nützlich, um zu verhindern, dass Ihre Anwendung blockiert wird, während die Datei heruntergeladen wird.
Es gibt jedoch auch eine maximale Wartezeit, die als Timeout bezeichnet wird. Wenn diese Zeit erreicht wird, bevor der Download abgeschlossen ist, wird dennoch eine Antwort gesendet. Das bedeutet nicht, dass der Download fehlgeschlagen ist, sondern dass die Antwort vor Abschluss des Downloads gesendet wurde. In diesem Fall wird die Verarbeitung im Hintergrund fortgesetzt.
Große Dateien benötigen mehr Zeit
Wenn die angeforderte Datei groß ist (z. B. mehrere hundert Megabyte oder sogar mehrere Gigabyte), kann der Download mehrere Minuten dauern. Diese Zeit hängt stark vom entfernten Server ab: Einige sind sehr schnell, andere weniger. Das System versucht, dies bestmöglich zu verwalten, aber man sollte bedenken, dass die Antwortzeit nicht immer sofort erfolgt.
Blockierende und nicht blockierende Aufrufe
Standardmäßig warten einige SOAP-Clients, bis der Server geantwortet hat, bevor sie fortfahren. Man spricht dann von einem blockierenden Aufruf : Ihre Anwendung ist eingefroren, bis die Antwort eintrifft. Das kann problematisch sein, wenn die Antwort Zeit in Anspruch nimmt.
Zum Glück ist es oft möglich, den SOAP-Client so zu konfigurieren, dass er nicht blockiert. Man spricht dann von einem nicht blockierenden Aufruf. Das ermöglicht es, mehrere Anfragen nacheinander zu senden, ohne auf die Antwort jedes Aufrufs warten zu müssen. Das ist schneller und effizienter, insbesondere wenn Sie mehrere Dateien nacheinander verarbeiten.