嵌入式Linux網(wǎng)絡(luò)編程之:本章小結(jié)與思考與練習(xí)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
10.5 本章小結(jié)
本章首先概括地講解了OSI分層結(jié)構(gòu)以及TCP/IP協(xié)議各層的主要功能,介紹了常見的TCP/IP協(xié)議族,并且重點(diǎn)講解了網(wǎng)絡(luò)編程中需要用到的TCP和UDP協(xié)議,為嵌入式Linux的網(wǎng)絡(luò)編程打下良好的基礎(chǔ)。
接著本章介紹了socket的定義及其類型,并逐個(gè)介紹常見的socket相關(guān)的基本函數(shù),包括地址處理函數(shù)、數(shù)據(jù)存儲(chǔ)轉(zhuǎn)換函數(shù)等,這些函數(shù)都是最為常用的函數(shù),要在理解概念的基礎(chǔ)上熟練掌握。
接下來(lái)介紹的是網(wǎng)絡(luò)編程中的基本函數(shù),這也是最為常見的幾個(gè)函數(shù),這里要注意TCP和UDP在處理過(guò)程中的不同。同時(shí),本章還介紹了較為高級(jí)的網(wǎng)絡(luò)編程,包括調(diào)用fcntl()和select()函數(shù),這兩個(gè)函數(shù)在前面的章節(jié)中都已經(jīng)講解過(guò),但在本章中有特殊的用途。
最后,本章以ping程序?yàn)槔?,講解了常見協(xié)議的實(shí)現(xiàn)過(guò)程,讀者可以看到一個(gè)成熟的協(xié)議是如何實(shí)現(xiàn)的。
本章的實(shí)驗(yàn)安排了實(shí)現(xiàn)一個(gè)比較簡(jiǎn)單但完整的NTP客戶端程序,主要實(shí)現(xiàn)了其中數(shù)據(jù)收發(fā)的主要功能,以及時(shí)間同步調(diào)整的功能。
10.6 思考與練習(xí)1.分別用多線程和多路復(fù)用實(shí)現(xiàn)網(wǎng)絡(luò)聊天程序。
2.實(shí)現(xiàn)一個(gè)小型模擬的路由器,就是接收從某個(gè)IP地址的連接請(qǐng)求,再把該請(qǐng)求轉(zhuǎn)發(fā)到另一個(gè)IP地址的主機(jī)上去。