Android Http服务器和破碎的管道

我正在尝试开发一个 Android UPnP应用程序,其中包含一个嵌入式http服务器,因此它可以通过局域网从设备提供媒体文件.

我使用的第一个web服务器实现基于Apache HttpCore http://hc.apache.org/httpcomponents-core-ga/index.html的ElementalHttpServer示例.
它必须稍微更改一下,因为Android库中已包含的org.apache.http元素与httpCore jar中包含的最新元素不同.

我试图用jar中的那些替换那些来自jar的那些但是无法完成 – 安卓库中的那些优先级.当我更改库顺序时,重复的类有问题.

而不是罐子,我包括代码和更改数据包名称,以避免重复的类问题.

管道损坏和连接问题仍然存在问题.

我也尝试过来自HttpCoreNIO的NHttpServer,因为它具有与基本httpCore不同的类集,可以包含和使用,而不会与Android本身的httpCore冲突.

然后我使用了NanoHTTPD,这似乎是所有http服务器中最好的,但它仍然受到与其他所有服务器相​​同的问题的困扰:

java.net.SocketException: The connection was reset
at org.apache.harmony.luni.platform.OSNetworkSystem.sendStreamImpl(Native Method)
at org.apache.harmony.luni.platform.OSNetworkSystem.sendStream(OSNetworkSystem.java:498)
at org.apache.harmony.luni.net.PlainSocketImpl.write(PlainSocketImpl.java:585)
at org.apache.harmony.luni.net.SocketOutputStream.write(SocketOutputStream.java:59)
at com.zappotv.network.http.NanoHTTPD$HTTPSession.sendResponse(NanoHTTPD.java:828)
at com.zappotv.network.http.NanoHTTPD$HTTPSession.run(NanoHTTPD.java:478)
at java.lang.Thread.run(Thread.java:1096)

java.net.SocketException: Broken pipe
at org.apache.harmony.luni.platform.OSNetworkSystem.sendStreamImpl(Native Method)
at org.apache.harmony.luni.platform.OSNetworkSystem.sendStream(OSNetworkSystem.java:498)
at org.apache.harmony.luni.net.PlainSocketImpl.write(PlainSocketImpl.java:585)
at org.apache.harmony.luni.net.SocketOutputStream.write(SocketOutputStream.java:59)
at com.zappotv.network.http.NanoHTTPD$HTTPSession.sendResponse(NanoHTTPD.java:828)
at com.zappotv.network.http.NanoHTTPD$HTTPSession.run(NanoHTTPD.java:478)
at java.lang.Thread.run(Thread.java:1096)

最近我已经在应用程序中实现了iJetty,但问题仍然存在.
有时请求设备进入无限循环的请求.

我能做错什么?标题可能有问题吗?

解决方法

没有看到你的代码就不能说错误了.但我之前需要一个HTTP服务器,并以NPR应用程序为例来解决问题.代码是如何使用java.net.ServerSocket的相当直接的示例.

http://code.google.com/p/npr-android-app/source/browse/Npr/src/org/npr/android/news/StreamProxy.java

相关文章

以下为个人理解,如错请评 CE: 凭据加密 (CE) 存储空间, 实际路径/data/user_ce/ DE: 设备加密 (DE) 存...
转载来源:https://blog.csdn.net/yfbdxz/article/details/114702144 用EventLog.writeEvent打的日志(或...
事件分发机制详解 一、基础知识介绍 1、经常用的事件有:MotionEvent.ACTION_DOWN,MotionEvent.ACTION...
又是好久没有写博客了,一直都比较忙,最近终于有时间沉淀和整理一下最近学到和解决的一些问题。 最近进...
Android性能优化——之控件的优化 前面讲了图像的优化,接下来分享一下控件的性能优化,这里主要是面向...
android的开源库是用来在android上显示gif图片的。我在网上查了一下,大家说这个框架写的不错,加载大的...