Tôi đang cố gắng phát triển ứng dụng Android UPnP có máy chủ http nhúng trong đó, vì vậy nó có thể phục vụ các tệp phương tiện từ thiết bị qua lan.Máy chủ và máy chủ Android của Android
Thực hiện đầu tiên của máy chủ web mà tôi đã sử dụng dựa trên ví dụ ElementalHttpServer từ Apache HttpCore http://hc.apache.org/httpcomponents-core-ga/index.html. Nó phải được thay đổi một chút vì các phần tử org.apache.http đã được bao gồm trong thư viện Android khác với mới nhất được bao gồm trong bình httpCore.
Tôi đã cố gắng thay thế Android bằng những cái từ lọ nhưng không thể thực hiện được - những thứ trong thư viện Android có mức độ ưu tiên. Khi tôi thay đổi thứ tự thư viện, đã xảy ra sự cố với các lớp trùng lặp.
Hơn là thay vì các lọ tôi đã bao gồm mã nguồn và thay đổi tên gói để tránh các vấn đề lớp trùng lặp.
Sự cố với đường ống bị hỏng và sự cố kết nối vẫn tiếp diễn.
Tôi cũng đã thử NHttpServer từ HttpCoreNIO vì nó có bộ lớp khác với httpCore cơ bản và có thể được bao gồm và sử dụng mà không xung đột với httpCore trong chính Android.
Sau đó, tôi sử dụng NanoHTTPD mà dường như làm việc tốt nhất của tất cả các máy chủ http quá béo nhưng vẫn gặp rắc rối bởi các vấn đề giống như tất cả những người khác:
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)
và
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)
Gần đây Tôi đã triển khai iJetty vào ứng dụng nhưng vấn đề vẫn tồn tại. Đôi khi thiết bị yêu cầu chuyển thành một chuỗi yêu cầu vô tận.
Tôi có thể làm gì sai? Có thể các tiêu đề là một vấn đề?
Điều này xảy ra ngay lập tức ngay cả đối với chuyển khoản nhỏ hoặc chỉ sau một thời gian/khối lượng dữ liệu? –