2016-06-05 10 views
8

Ich habe einen sehr minimalen Proof-of-Concept implementiert, der einen Teil des WebDAV Protokolls unterstützt. Dazu gehören die HTTP-Verben OPTIONS, PROPFIND und GET. Der integrierte Windows WebDAV-Client (unter Windows 8.1) kann daher die Freigabe WebDAV öffnen, Dateien und Verzeichnisse auflisten und durch diese navigieren.Windows WebDAV Client mit Streaming/chunked Übertragung

Die GET HTTP Verb Implementierung stellt die Accept-Ranges (als Bytes), Content-Length, Content-Type und Transfer-Encoding (als chunked). Wenn Sie eine große Videodatei in einem Browser öffnen, wird sie sofort abgespielt, während der restliche Inhalt heruntergeladen wird. Der integrierte WebDAV-Client von Windows scheint die gesamte Datei an einen temporären Speicherort herunterzuladen, bevor ein Mediaplayer die Datei abspielen kann. Wenn eine Datei 10 GB groß ist, wird das sehr schlecht.

Gibt es eine Möglichkeit, Unterstützung bereitzustellen, damit der integrierte WebDAV-Client Bereiche von Bytes für Streaming-Zwecke lesen kann (ich würde mir vorstellen, dass es nur übersetzt werden muss, um Range irgendwie zu verwenden ...)?

+1

Aus Sicht der Windows-App ist kein HTTP involviert, es wird nur eine Datei in DAV wie eine Datei auf einem Datenträger angezeigt (weil sie auf einem Redirector-Kerneltreiber mrxdav.sys basiert, der die HTTP-Implementierung maskiert: http: // blogs.iis.net/robert_mcmurray/webdav-redirector-registry-settings). Ich bezweifle, dass du dein Problem lösen kannst und ja, es ist scheiße. –

+0

@SimonMourier Windows hat die schlechteste DAV-Implementierung aller Zeiten. –

Antwort

0

Es klingt, als ob Sie alle richtigen Dinge getan haben, um dem Client anzuzeigen, dass Streaming möglich ist und Bereichsanfragen möglich sind. Wenn der Client also nicht antwortet, können Sie daraus schließen, dass er diese Funktionen nicht unterstützt. (was eine totale Enttäuschung ist).