3 回答

TA貢獻(xiàn)1841條經(jīng)驗(yàn) 獲得超3個(gè)贊
NanoHttpd在Android上的魅力十足-我們已經(jīng)在生產(chǎn)代碼中,在用戶手中建立了代碼。
該許可證絕對(duì)允許NanoHttpd的商業(yè)使用,而沒有任何“病毒”的含義。

TA貢獻(xiàn)2021條經(jīng)驗(yàn) 獲得超8個(gè)贊
可以使用ServerSocket來完成此操作,與JavaSE相同。此類在Android上可用。android.permission.INTERNET是必須的。
唯一比較棘手的部分是,您需要在ServerSocket上等待一個(gè)單獨(dú)的線程,以服務(wù)來自其accept方法的子套接字。您還需要根據(jù)需要停止并恢復(fù)該線程。最簡單的方法似乎是通過關(guān)閉ServerSocket來殺死正在等待的線程。如果您僅在活動(dòng)處于頂部時(shí)才需要服務(wù)器,則可以將ServerSocket線程的啟動(dòng)和停止與活動(dòng)生命周期方法緊密地聯(lián)系在一起。同樣,如果服務(wù)器有多個(gè)用戶,則最好在派生線程中處理請(qǐng)求。如果只有一個(gè)用戶,則可能沒有必要。
如果需要告訴用戶服務(wù)器在哪個(gè)IP上監(jiān)聽,請(qǐng)使用 NetworkInterface .getNetworkInterfaces(),此問題可能會(huì)告訴您其他技巧。
最后,這里可能有一個(gè)完整的最小Android服務(wù)器,它非常簡短,簡單,并且比最終用戶應(yīng)用程序更容易理解,這在其他答案中建議。
- 3 回答
- 0 關(guān)注
- 797 瀏覽
添加回答
舉報(bào)