2011-08-01 11 views
7

私は、内蔵のhttpサーバーを搭載したAndroid UPnPアプリケーションを開発しようとしているため、lan上のデバイスからのメディアファイルを処理できます。Android Httpサーバーと壊れたパイプ

私が使用したWebサーバーの最初の実装は、Apache HttpCore http://hc.apache.org/httpcomponents-core-ga/index.htmlのElementalHttpServerの例に基づいていました。 Androidライブラリに既に含まれているorg.apache.http要素がhttpCore jarに含まれている最新のものと異なるため、少し変更する必要がありました。

Androidのものをjarのものに置き換えようとしましたが、できなかった - Androidライブラリのものが優先されます。ライブラリの順序を変更すると、重複するクラスに問題がありました。

jarの代わりに、私はソースコードを入れて、重複したクラスの問題を避けるためにパケット名を変更しました。

破損したパイプの問題と接続の問題が解決されました。

また、NHttpServerはHttpCoreNIOから試しました.HttpCoreNIOは基本的なhttpCoreとは異なるクラスセットを持っていて、Android自体のhttpCoreと競合することなく組み込み使用することができるからです。

その後、私はとても太っすべてのHTTPサーバの最適に動作するようだが、それでも他のすべてと同じ問題に悩まされているNanoHTTPDを使用:最近

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を実装しましたが、問題は依然として続きます。 要求側のデバイスが要求の無限ループに入ることがあります。

私は間違っていますか?ヘッダーが問題になることがありますか?

+0

これは小さくても転送のためにすぐに起こる、またはデータのみのいくつかの時間/音量後にしていますか? –

答えて

関連する問題