【问题标题】:Develop an Android Webdav server开发 Android Webdav 服务器
【发布时间】:2016-01-09 12:18:58
【问题描述】:

在我的应用程序中,我有一个 NanoHttpd 服务器 https://github.com/NanoHttpd/nanohttpd 但现在我想添加一个 webdav 支持。我正在寻找一些教程或建议来做到这一点,但我发现只有 jackrabbit 库没有任何教程或指南。 你有什么建议给我吗?

【问题讨论】:

    标签: android http webdav nanohttpd


    【解决方案1】:

    一些人已将 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);
    }
    

    【讨论】:

    • Milton 是我所知道的唯一一个活跃的 java webdav 服务器项目。有一些废弃的,但它们不支持当前的操作系统版本。
    • 如果我想编辑 nanohttpd 我必须实现什么以将兼容性添加到 webdav 标准?
    • 非常感谢!在接下来的几天里,我将尝试根据您的建议进行开发:)
    【解决方案2】:

    自 2016 年 1 月 29 日起,NanoHTTPD 支持 WebDAV 动词。您只想提取最后一个版本并处理新动词。

    【讨论】:

      猜你喜欢
      • 2010-10-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-09
      相关资源
      最近更新 更多