मैं एक एंड्रॉइड यूपीएनपी एप्लीकेशन विकसित करने की कोशिश कर रहा हूं जिसमें इसमें एक एम्बेडेड http सर्वर है, इसलिए यह डिवाइस से लैन पर मीडिया फ़ाइलों की सेवा कर सकता है।एंड्रॉइड एचटीपी सर्वर और टूटी पाइप
मैंने उपयोग किए गए वेब सर्वर का पहला कार्यान्वयन अपाचे एचटीपीकोर http://hc.apache.org/httpcomponents-core-ga/index.html से एलिमेंटलहटपसेवर उदाहरण पर आधारित था। इसे थोड़ा सा बदलना पड़ा क्योंकि org.apache.http तत्व जो पहले से ही एंड्रॉइड लाइब्रेरी में शामिल हैं, httpCore जार में नवीनतम शामिल हैं।
मैंने एंड्रॉइड को जार से लोगों के साथ बदलने की कोशिश की लेकिन यह नहीं किया जा सका - एंड्रॉइड लाइब्रेरी में से एक को प्राथमिकता है। जब मैं लाइब्रेरी ऑर्डर बदलता हूं तो डुप्लिकेट कक्षाओं में कोई समस्या थी।
जारों की बजाय मैंने स्रोत कोड शामिल किया और डुप्लिकेट कक्षाओं की समस्या से बचने के लिए पैकेट नामों को बदल दिया।
टूटी हुई पाइप और कनेक्शन समस्याओं के साथ समस्या बनी रही।
मैंने एचटीपीपी सर्वर से एचटीटीपी सर्वर से भी कोशिश की है क्योंकि इसमें मूल httpCore की तुलना में कक्षाओं के अलग-अलग सेट हैं और इन्हें एंड्रॉइड में 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 लागू किया है लेकिन समस्या अभी भी बनी हुई है। कभी-कभी अनुरोध करने वाला उपकरण अनुरोधों के अंतहीन पाश में जाता है।
मैं गलत क्या कर सकता था? हेडर एक समस्या हो सकती है?
इस यहां तक कि छोटे हस्तांतरण के लिए तुरंत होता है, या केवल डेटा के कुछ समय/मात्रा के बाद? –