답변:
https://github.com/NanoHttpd/nanohttpd를 고려 하십시오 . 자바로 작성된 매우 작습니다. 문제없이 사용했습니다.
이것은 JavaSE에서와 마찬가지로 ServerSocket을 사용하여 수행 할 수 있습니다 . 이 수업은 Android에서 사용할 수 있습니다. android.permission.INTERNET
필수입니다.
더 까다로운 부분은 ServerSocket에서 별도의 스레드 대기가 필요하고 해당 accept
메서드 에서 제공되는 하위 소켓을 서비스하는 것입니다 . 또한 필요에 따라이 스레드를 중지하고 다시 시작해야합니다. 가장 간단한 방법은 ServerSocket을 닫아 대기중인 스레드를 죽이는 것 같습니다. 활동이 최상위에있을 때만 서버가 필요한 경우 ServerSocket 스레드를 시작하고 중지하는 것은 활동 수명주기 메서드에 다소 우아하게 연결될 수 있습니다. 또한 서버에 여러 사용자가있는 경우 분기 된 스레드에서 요청을 처리하는 것이 좋습니다. 사용자가 한 명뿐이면 필요하지 않을 수 있습니다.
사용자에게 서버가 수신하는 IP를 알려야하는 경우 NetworkInterface .getNetworkInterfaces ()를 사용하면 이 질문 이 추가 트릭을 알려줄 수 있습니다.
마지막으로, 여기 에는 매우 짧고 간단하며 완성 된 최종 사용자 애플리케이션보다 이해하기 쉬울 수있는 완전한 최소 Android 서버가 있으며 다른 답변에서 권장됩니다.
http://tjws.sf.net 시도해 볼 수있는 다른 서버는 실제로 이미 Android 지원 버전을 제공합니다.
Android 용 Restlet 에디션 을 사용해 볼 수 있습니다 .
소스는 Restlet 웹 사이트 에서 다운로드 할 수 있습니다 .
kotlin을 사용하는 경우이 라이브러리를 고려하십시오. kotlin 언어를 위해 빌드되었습니다. https://github.com/weeChanc/AndroidHttpServer https://github.com/ktorio/ktor
AndroidHttpServer는 매우 작지만 기능도 적습니다.
Ktor는 매우 멋진 라이브러리이며 사용법도 간단합니다.