gpt4 book ai didi

Android Http 服务器和破损的管道

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:17:21 26 4
gpt4 key购买 nike

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

我使用的 Web 服务器的第一个实现基于 Apache HttpCore 的 ElementalHttpServer 示例 http://hc.apache.org/httpcomponents-core-ga/index.html .由于 Android 库中已包含的 org.apache.http 元素与 httpCore jar 中包含的最新元素不同,因此必须对其进行一些更改。

我试图用 jar 中的替代 Android 的,但无法完成 - Android 库中的优先。当我更改库顺序时,出现了重复类的问题。

我包含了源代码并更改了数据包名称以避免类重复问题,而不是 jars。

管道破裂和连接问题仍然存在。

我还尝试了来自 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

关于Android Http 服务器和破损的管道,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6898165/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com