標籤:
9.29
開始動手看著慕課網的視頻去學習手機伺服器微架構實現,原因是:
現在自己想要認真地學習瞭解android的基本網路知識,以及其實踐
一.知識準備
首先,我要瞭解tcp、udp和http的關係,瞭解自己需要在什麼情況下選擇哪個。
然後,就是我需要瞭解的是http的實現原理。 據說這個是我們面試時有可能需要考到的,其實,我需要的是弄清楚
request和accept需要做的是什麼
最後,是關於http的解析過程。
二.寫代碼過程
接下來,就是跟著視頻寫代碼 :
首先是設定accept socket ,伺服器的核心。
這個過程中,開動了非同步接受資訊過程。
accept socket過程
1.定義地址,類是InetSocketAddress,傳已經寫好的地址進去
2.定義遠程用戶端的發射器,serversocket.accept()
3.開動線程池去執行用戶端發送資訊到服務端後的處理資訊過程。
解析headers過程
1.接收到資訊後,就需要瞭解這個headers的資訊處理過程。首先,瞭解http協議
其實,header==value 間,都有一個\r\n 隔開。
將資訊分割儲存
1.url路由,一開始我不瞭解,後來瞭解到,是伺服器根據接收到的指定網域名稱,選擇對應的處理方法。
然後每個處理方法都需要在主程式中註冊好,方便使用。
然後,根據分割後的一個網域名稱,去尋找到對應的方法。
通過wifi 傳圖
1.在傳圖的方法中,首先定義一個檔案,然後不斷把資訊寫進去
2.通過在activity回調,使用方法,在服務端上顯示。
思考:
(1)整個過程中,url路由使用了設計模式,具體還是需要自己找找。
(2)解析http過程中,需要對一些規則的瞭解以及字串的處理,這個需要熟悉使用string方法。
(3)自己還是要理解基本的http通訊原理,方便自己在使用api過程中更加準確。
(4)自己還是需要通過官方文檔,去查詢每個api的原理和使用方式。
(5)也可以看到自己需要瞭解用戶端是如何發送資訊的(看第一行代碼)
(6)這次是一個很好的突破,讓自己去主動的找一些demo來加深自己的認知。
(7)對於網路方式,還是需要在androidmanifest上添加許可權
(8)telnet 在macbook 終端的使用,還是很方便的,也是很方便通過關於手機查詢到手機的ip
手機伺服器微架構設計和實現專題