【发布时间】:2016-01-09 12:18:58
【问题描述】:
在我的应用程序中,我有一个 NanoHttpd 服务器 https://github.com/NanoHttpd/nanohttpd 但现在我想添加一个 webdav 支持。我正在寻找一些教程或建议来做到这一点,但我发现只有 jackrabbit 库没有任何教程或指南。 你有什么建议给我吗?
【问题讨论】:
标签: android http webdav nanohttpd
在我的应用程序中,我有一个 NanoHttpd 服务器 https://github.com/NanoHttpd/nanohttpd 但现在我想添加一个 webdav 支持。我正在寻找一些教程或建议来做到这一点,但我发现只有 jackrabbit 库没有任何教程或指南。 你有什么建议给我吗?
【问题讨论】:
标签: android http webdav nanohttpd
一些人已将 milton 集成到他们的 Android 应用程序中以添加 webdav 服务器功能。看这里 - http://milton.io
教程链接在主页上。没有什么特定于 android 的,但应该是直截了当的。
(根据下面关于 nanohttpd 的评论) 要与 nanohttpd 集成,您需要实现 Request 和 Response 接口,以包装来自 nanohttpd 的数据。您需要创建一个 miltons HttpManager 的实例,并将请求和响应对象传递给每个请求的 process 方法。
请注意,milton 与开箱即用的 Simple http 容器(称为 Simpleton)集成在一起,因此您可以使用它来代替 nanohttpd。只需创建一个 io.milton.simpleton.SimpletonServer 的实例并调用它的 start() 方法
如果您想使用 Simpleton 实现代码作为与 nanohttpd 集成的指南:
https://github.com/miltonio/milton2/tree/master/milton-server-ce/src/main/java/io/milton/simpleton
这显示了一个相当典型的集成,来自 io.milton.grizzly.GrizzlyServer。真的很简单。
@Override
public void service(Request request, Response response) throws Exception {
GrizzlyMiltonRequest req = new GrizzlyMiltonRequest(request);
GrizzlyMiltonResponse resp = new GrizzlyMiltonResponse(response);
httpManager.process(req, resp);
}
【讨论】:
自 2016 年 1 月 29 日起,NanoHTTPD 支持 WebDAV 动词。您只想提取最后一个版本并处理新动词。
【讨论】: