架設HttpServer - NanoHttpd
NanoHttpd是一個輕量級的Http Server,可在本地端接收Http Client所傳來的訊息。
Step 1: 下載 .jar 檔
NanoHttpd jar 下載網址
https://github.com/NanoHttpd/nanohttpd/releases
Step 2: 將下載的.jar檔案,放置到 (App Name)/lib 資料夾底下
Step 3: build.gradle 中添加 .jar檔的資訊
1 | android { |
Step 4: 新增加class,並繼承NanoHTTPD
1 | public class NanoHttpServer extends NanoHTTPD { |
Step 5: 建立NanoHttpServer並啟動HttpServer
設定一組port來進行溝通,此例子使用6600 port來監聽socket間的溝通
1 | mHttpServer = new NanoHttpServer(6600); |
Step 6: 接收Client端的訊息
當Client連接上,並傳送訊息時,可由serve(IHTTPSession session) 接收訊息並回傳Response
1 |
|
不過需要注意的是IHTTPSession的getInputStream,讀完數據流後不會回傳 -1 或者結束符號,必須自己控制何時結束。
我們可取一個buffer size來控制,當讀入的數據長度小於此buffer size則跳出迴圈表示已讀完數據流。
1 | try { |
架設HttpServer - NanoHttpd
https://nickcarter9.github.io/2019/04/01/2019/2019_04_01-nanohttpd/