2016-06-05 2 views
8

Я реализовал очень минимальное доказательство концепции, поддерживающее часть протокола WebDAV. Сюда входят протоколы OPTIONS, PROPFIND и GET HTTP. Таким образом, встроенный клиент Windows WebDAV (в Windows 8.1) может открывать общий доступ к файлам и каталогам WebDAV и просматривать их.Клиент Windows WebDAV с потоковой передачей/переадресацией

GET реализация HTTP-глагол обеспечивает Accept-Ranges (как байты), Content-Length, Content-Type и Transfer-Encoding (как фрагментированные). При открытии большого видеофайла в браузере он начнет играть сразу, пока он загружает оставшееся содержимое. Похоже, что встроенный клиент WebDAV для Windows загружает весь файл во временное место до того, как медиа-плеер будет воспроизводить файл. Когда файл составляет 10 ГБ, это будет сосать.

Есть ли способ обеспечить поддержку, чтобы встроенный клиент WebDAV мог читать диапазоны байтов для потоковой передачи (я бы предположил, что просто нужно перевести, чтобы использовать Range как-то ...)?

+1

С точки зрения приложения Windows, HTTP не задействован, он просто видит файл на DAV, как файл на диске (поскольку он основан на драйвере ядра redirector mrxdav.sys, который маскирует реализацию HTTP: http: // blogs.iis.net/robert_mcmurray/webdav-redirector-registry-settings). Я сомневаюсь, что вы можете решить свою проблему, и да, это отстой. –

+0

@SimonMourier Windows имеет худшую реализацию DAV когда-либо. –

ответ

0

Похоже, вы сделали все правильные вещи, чтобы указать клиенту, что потоковая передача возможна, и возможны запросы диапазона. Поэтому, если клиент не отвечает на это, я думаю, вы можете сделать вывод, что он просто не поддерживает эти функции. (что является полным обломком).

Смежные вопросы