当前位置:  开发笔记 > 运维 > 正文

某些文件不会从lighttpd流到Droid

如何解决《某些文件不会从lighttpd流到Droid》经验,为你挑选了0个好方法。

我们在应用中流式传输某些文件时遇到了一些奇怪的问题。经过大量测试之后,我们将其范围缩小到lighttpd和Droid之间似乎存在的某种问题,这不仅是我们的应用程序,还包括内置播放器。

如果将Droid浏览器指向http://stream29l.grooveshark.com/collinSong.mp3,它将无法正常工作。Apache上http://staging.api.grooveshark.com/collinSong.mp3上托管的同一文件可以完美传输。这些文件是相同的。这两个URL在运行1.5和1.6的其他电话以及运行2.0.1的仿真器上均有效。

无论是通过wifi播放还是通过3G播放,lighttpd URL都会失败。

我的猜测是,在Droid不能容忍的网络级别上发生了一些时髦的事情,但是我已经可以调试了。有任何想法吗?

更新:我在运行CentOS的笔记本电脑上安装了lighttpd并将其设置为可以提供相同的文件(对不起,外界无法访问),Droid可以很好地为它们提供服务。我们的服务器必须是一个特定的配置问题,或者是lighttpd版本的差异。现在,我的笔记本电脑正在运行1.4.22,而我们的生产服务器正在运行1.5.0。我们的生产服务器还具有以下配置集,这使我在笔记本电脑上出现问题(请注意:我可能缺少模块等):

server.max-fds = 7000
server.network-backend = "gthread-aio"
server.stat-cache-engine = "fam"

服务器还安装了以下其他模块:

                            "mod_proxy_core",
                            "mod_proxy_backend_http",
                            "mod_proxy_backend_fastcgi",

我将尝试使模块和配置匹配100%,看看明天是否会重现该问题。如果没有,我将尝试将笔记本电脑升级到1.5.0,看看是否可以。

同时,有人知道与上述配置有关的问题吗?

更新2: 我在笔记本电脑上升级到1.5.0,流collinSong.mp3仍然有效。添加:server.network-backend =“ gthread-aio”没有中断流。但是这一行做到了:server.stat-cache-engine =“ fam”

注释掉上面的代码行后,便可以从笔记本电脑上进行流媒体播放,而启用它则使其无法正常工作。我实际上是让我们的管理员从配置中删除该行并重新启动(他说我们仍然不需要该设置),但是问题仍然存在。

因此,接下来我尝试在笔记本电脑上将stat-cache-engine注释掉,并添加以下行:“ mod_proxy_core”,“ mod_proxy_backend_http”,“ mod_proxy_backend_fastcgi”在启用这些功能后,笔记本电脑上的流再次中断,并且在我将其关闭时可以使用。不幸的是,这些显然是我们在服务器上使用的线程模型所必需的,因此我无法尝试在生产中关闭它们。我不知道这是否给其他人任何线索,但这就是我的全部。

我很想与Motorola的开发人员联系,因为这似乎是该平台的一个错误。在其他android设备,PC,iPhone,黑莓和诺基亚手机上都能正常工作,但在Droid上无法正常工作。

推荐阅读
360691894_8a5c48
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有