3

我有一个要托管在 android 设备上的 Web 应用程序。我目前正在使用 android sdk 提供的模拟器。我的应用程序将同时提供静态和动态数据。我目前正在使用码头版本 6.1.22。我想问什么是更好的选择。1. 带有剥离代码的 Jetty 网络服务器。2. I-码头。

我的应用程序使用以下功能 -

  • ResourceHandler 提供静态资源。
  • 用于服务同步数据请求的通用 servlet。
  • CometServlet 的扩展,用于服务异步数据请求。

我期待以下比较标准。

  • 应用程序大小。将包含代码的 apk 的大小。
  • 最大负载为 30 个请求/秒时的内存和 CPU 使用率。这些是短暂的爆发,在应用程序生命周期中发生的次数很少。平均负载约为 5 个请求/秒。
  • 易于维护。包括 Jetty 在应用中的重要升级。
  • 我可能错过的任何其他副作用。
4

4 回答 4

7

我也一直在寻找有关在应用程序中嵌入 i-Jetty 服务器的信息。像原始海报一样,我需要同时提供静态和动态资源。我发现以下帖子是一个有用的开始:

http://puregeekjoy.blogspot.com/2011/06/running-embedded-jetty-in-android-app.html

我注意到,在搜​​索有关在 Android 应用程序中嵌入 Web 服务器的答案时,许多响应者并没有提供有用的答案,而是指责原始发帖人想要“在手机中”做这样的事情。然后他们继续给出所有不这样做的理由。除了手机之外,还有更多的 Android 设备。我的项目只涉及这样一个设备。感谢在这个网站和其他网站上提供的所有有用的答案,这些答案指导了我的努力。我希望我提供的链接可以帮助其他搜索者。

于 2012-06-13T21:00:28.347 回答
4

在您的应用程序中嵌入 Web 服务器是有充分理由的。可能不是最好的方法,但当 Android 束缚你的手时,你必须这样做。一个例子是当您想在运行时动态解密视频并使用媒体播放器播放它。Android 媒体播放器不允许我像来自解密管道那样向它提供内存中的流。

在这种情况下,一种解决方案(请帮我想想其他人!)是嵌入一个可以提供流的网络服务器 - 因为 Android 确实接受来自 URL 的流!

另一种解决方案是移植一些本机库并为其编写 JNI 接口。工作太多,充其量是不稳定的。

关键是,那里有足够充分的理由。

于 2010-11-09T15:55:56.817 回答
2

如果您需要解密视频或提供内容,您可能会考虑自己编写一个简单的 Web 服务器,它可以专门处理您的应用程序的需求而不会产生任何臃肿。添加现有的 Web 服务器或 Web 容器可能超出您的需要。不过,这在很大程度上取决于您的应用程序的需求。

于 2011-09-13T14:17:56.720 回答
1

我有一个要托管在 android 设备上的 Web 应用程序。

为什么?除非在 WiFi LAN 上,否则它将无法使用。它不能运行很长时间,因为服务不能永远运行。等等。

无论您认为在 Android 上使用 Web 服务器解决了什么技术问题,都可以通过其他方式更好地解决。

我想问什么是更好的选择。1. 带有剥离代码的 Jetty 网络服务器。2. I-码头。

可以说“两者都不是”,不仅是因为技术问题,而且 Greg Wilkins(Jetty 的创建者)不太喜欢 Android。不过,在这两者中,i-jetty 至少定期在 Android 上进行测试。

最大负载为 30 个请求/秒时的内存和 CPU 使用率。这些是短暂的爆发,在应用程序生命周期中发生的次数很少。平均负载约为 5 个请求/秒。

运行时,电池寿命会很短,因为您要让 CPU 和 WiFi 一直运行以支持 Web 服务器,更不用说负载了。

于 2010-08-02T21:57:59.283 回答