android開發不可避免的問題就是涉及到網絡編程。一個沒有網絡接入的應用怎麼好意思稱之爲移動互聯網應用呢!
自身基礎比較薄弱,先溫習下網絡的基礎知識。任何兩個事物交換信息都會按一定的規則來傳輸。在網絡中傳輸信息所用的協議就叫網絡協議,我們的計算機都是藉着網絡協議來進行通信的。
網絡協議在百度百科中是這樣定義的:爲計算機網絡中數據交換而建立的規則,標準或約定的集合。
網絡協議的組成主要有3個要素:
1.語義:解釋控制信息每個部分的意義。也就是告訴你這一段內容是做什麼的。
2.語法:定義了所要傳輸的數據與控制信息的結構,順序。告訴你怎麼做。
3.時序:描述了事件發生的的順序。它告訴你什麼時候做什麼事情。
網絡上很多設備都需要交換信息,比如路由器,計算機,交換機,防火牆等等。這些設備之間傳輸都會有特定的協議,而我們這裏網絡的協議正是這些協議的集合。這樣保證這些設備都能相互交換信息。一般的網絡協議都有自己分層的體系結構,每一層協議都建立在下一層協議之上,向上一層提供服務,而他會對上一層隱藏自己的細節。而在網絡的各層中又存在着各種協議。我們現在使用的互聯網internet使用的協議是:TCP/IP協議。除此之前,網絡協議還有:IPX/SPX協議,NetBUI協議。
在網絡傳輸中,會遇到很多的結點,不同的結點之間的聯繫比較複雜。爲了簡化協議,一般用層級結構的方法來對協議進行分層,規定這些層級劃分的原則:
1.每一層都規定有明確的的服務和接口標準。
2.協議的最高層是應用層。
3.除最高層之外,協議的每一層都向上一層提供服務,同時又是下一層的用戶。
4.將物理通信線路層設爲協議的底層。
下面我們再具體瞭解下網絡協議分層層次具體劃分情況:爲了使不同廠家生產的計算機之間能相互通,以便建立一個更大的互通的網絡。國際標準組織(ISO)在1978年提出了一個開放系統互聯參考模型,即OSI/RM模型。在模型裏,網絡通信協議分爲7個層次,自上而下分別爲:
1.應用層
2.表示層
3.會話層
4.傳輸層
5.網絡層
6.數據鏈路層
7.物理層
數據傳輸在第四層已經完成,上面的三層主要是面像用戶的。而每一層都有相應的服務定義和協議規範。
常見的不同層的協議規範: