3 回答

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

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