Saya ingin membuat server HTTP sederhana di Android untuk menyajikan beberapa konten ke klien.
Adakah saran tentang cara membangun server atau menggunakan pustaka yang ada?
Saya ingin membuat server HTTP sederhana di Android untuk menyajikan beberapa konten ke klien.
Adakah saran tentang cara membangun server atau menggunakan pustaka yang ada?
Jawaban:
Pertimbangkan yang ini: https://github.com/NanoHttpd/nanohttpd . Sangat kecil, ditulis dalam bahasa Jawa. Saya menggunakannya tanpa masalah.
NanoHttpd bekerja seperti pesona di Android - kami memiliki kode dalam produksi, di tangan pengguna, yang dibuat di atasnya.
Lisensi benar-benar memungkinkan penggunaan komersial NanoHttpd, tanpa implikasi "viral".
Ini bisa dilakukan menggunakan ServerSocket , sama seperti di JavaSE. Kelas ini tersedia di Android. android.permission.INTERNET
diperlukan.
Satu-satunya bagian yang lebih rumit, Anda memerlukan utas terpisah menunggu di ServerSocket, melayani sub-soket yang berasal dari accept
metodenya. Anda juga perlu menghentikan dan melanjutkan utas ini sesuai kebutuhan. Pendekatan paling sederhana tampaknya mematikan thread yang menunggu dengan menutup ServerSocket. Jika Anda hanya memerlukan server saat aktivitas Anda di atas, memulai dan menghentikan utas ServerSocket bisa dikaitkan dengan elegan ke metode siklus hidup aktivitas. Selain itu, jika server memiliki banyak pengguna, mungkin bagus untuk melayani permintaan di utas bercabang. Jika hanya ada satu pengguna, ini mungkin tidak diperlukan.
Jika Anda perlu memberi tahu pengguna di IP mana server mendengarkan, gunakan NetworkInterface .getNetworkInterfaces (), pertanyaan ini mungkin memberi tahu trik tambahan.
Terakhir, di sini mungkin ada server Android minimal lengkap yang sangat pendek, sederhana dan mungkin lebih mudah dipahami daripada aplikasi pengguna akhir yang sudah jadi, direkomendasikan dalam jawaban lain.
Server lain yang bisa Anda coba http://tjws.sf.net , sebenarnya sudah menyediakan versi yang mendukung Android.
Anda dapat mencoba edisi Restlet untuk android:
Sumber dapat diunduh dari situs Restlet :
Jika Anda menggunakan kotlin, pertimbangkan pustaka ini. Itu dibangun untuk bahasa kotlin. https://github.com/weeChanc/AndroidHttpServer https://github.com/ktorio/ktor
AndroidHttpServer sangat kecil, tetapi fiturnya juga kurang.
Ktor adalah perpustakaan yang sangat bagus, dan penggunaannya juga sederhana