嵌入式網(wǎng)絡(luò)編程第一章_第1頁
嵌入式網(wǎng)絡(luò)編程第一章_第2頁
嵌入式網(wǎng)絡(luò)編程第一章_第3頁
嵌入式網(wǎng)絡(luò)編程第一章_第4頁
嵌入式網(wǎng)絡(luò)編程第一章_第5頁
已閱讀5頁,還剩28頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

姓名:郭文生單位:信息與軟件工程學(xué)院嵌入式網(wǎng)絡(luò)編程嵌入式網(wǎng)絡(luò)編程章共33頁,您現(xiàn)在瀏覽的是第1頁!課程介紹課程類別:專業(yè)核心課課程學(xué)時:40學(xué)時,上課16學(xué)時,實(shí)驗(yàn)24學(xué)時考核方式:平時(10%)+實(shí)驗(yàn)(30%)+期末考試(60%)先修課程:計(jì)算機(jī)網(wǎng)絡(luò)基礎(chǔ)、程序設(shè)計(jì)方法和操作系統(tǒng)嵌入式網(wǎng)絡(luò)編程章共33頁,您現(xiàn)在瀏覽的是第2頁!課程介紹教材:《計(jì)算機(jī)網(wǎng)絡(luò)編程與數(shù)據(jù)通信》,羅惠瓊等,國防工業(yè)出版社參考資料:《計(jì)算機(jī)網(wǎng)絡(luò):自頂向下方法》、《UNIX網(wǎng)絡(luò)編程卷1:套接字聯(lián)網(wǎng)API》(第3版)、《Linux網(wǎng)絡(luò)編程》、《Windows網(wǎng)絡(luò)編程》、GSM07.07規(guī)范、CAN規(guī)范V2.0嵌入式網(wǎng)絡(luò)編程章共33頁,您現(xiàn)在瀏覽的是第3頁!課程內(nèi)容套接字網(wǎng)絡(luò)編程串口通信編程GPRS和AT指令CAN總線及其編程嵌入式網(wǎng)絡(luò)編程章共33頁,您現(xiàn)在瀏覽的是第4頁!1.1網(wǎng)絡(luò)編程概念網(wǎng)絡(luò)編程:通過使用套接字來達(dá)到進(jìn)程間通信目的的編程。網(wǎng)絡(luò)編程是基于傳輸層及其之上提供的服務(wù)接口進(jìn)行編程,如:Unix/Linux提供Socket套接字編程接口,Windows提供WinSock套接字編程接口。網(wǎng)絡(luò)編程的語言:C、C++、Java、PHP、ASP、JSP、.NET、C#等。嵌入式網(wǎng)絡(luò)編程章共33頁,您現(xiàn)在瀏覽的是第5頁!1.1網(wǎng)絡(luò)編程概念字節(jié)序:不同的CPU和操作系統(tǒng)平臺上存儲數(shù)據(jù)的方式不同,包括小端(Littleendian)和大端(Bigendian)。數(shù)據(jù)0x0A0B0C0D的大小端存儲形式如下:嵌入式網(wǎng)絡(luò)編程章共33頁,您現(xiàn)在瀏覽的是第6頁!1.1網(wǎng)絡(luò)編程概念網(wǎng)絡(luò)字節(jié)序:網(wǎng)絡(luò)上傳輸數(shù)據(jù)時所使用的字節(jié)順序。主機(jī)字節(jié)序:主機(jī)中表示數(shù)據(jù)所使用的字節(jié)順序。網(wǎng)絡(luò)字節(jié)序是確定的,主機(jī)字節(jié)序是不同的網(wǎng)絡(luò)字節(jié)序和主機(jī)字節(jié)序在進(jìn)行網(wǎng)絡(luò)通信時要進(jìn)行相互轉(zhuǎn)換。嵌入式網(wǎng)絡(luò)編程章共33頁,您現(xiàn)在瀏覽的是第7頁!章網(wǎng)絡(luò)編程概述網(wǎng)絡(luò)編程概念網(wǎng)絡(luò)編程模型嵌入式網(wǎng)絡(luò)編程章共33頁,您現(xiàn)在瀏覽的是第8頁!1.2.1

Unix/Linux網(wǎng)絡(luò)I/O模型阻塞I/O模型(BlockingI/O)非阻塞I/O模型(Non-blockingI/O)I/O復(fù)用模型select、poll和epoll(I/OMultiplexing)信號驅(qū)動I/O模型(SignalDrivenI/O,SIGIO)異步I/O模型(AsynchronousI/O)嵌入式網(wǎng)絡(luò)編程章共33頁,您現(xiàn)在瀏覽的是第9頁!Unix/Linux網(wǎng)絡(luò)I/O模型-非阻塞I/O模型(Non-blockingI/O)1.2.1

Unix/Linux網(wǎng)絡(luò)I/O模型嵌入式網(wǎng)絡(luò)編程章共33頁,您現(xiàn)在瀏覽的是第10頁!1.2.1

Unix/Linux網(wǎng)絡(luò)I/O模型信號驅(qū)動I/O模型(SignalDrivenI/O,SIGIO)嵌入式網(wǎng)絡(luò)編程章共33頁,您現(xiàn)在瀏覽的是第11頁!1.2.1

Unix/Linux網(wǎng)絡(luò)I/O模型比較嵌入式網(wǎng)絡(luò)編程章共33頁,您現(xiàn)在瀏覽的是第12頁!1.2.2

Windows網(wǎng)絡(luò)I/O模型阻塞和非阻塞模型選擇模型(Select)異步選擇模型(WSAAsyncSelect)事件選擇模型(WSAEventSelect)重疊I/O模型(OverlappedI/O)I/O完成端口模型(I/OCompletionPort,IOCP)嵌入式網(wǎng)絡(luò)編程章共33頁,您現(xiàn)在瀏覽的是第13頁!1.2.2

Windows網(wǎng)絡(luò)I/O模型阻塞和非阻塞模型選擇模型(Select)異步選擇模型(WSAAsyncSelect)事件選擇模型(WSAEventSelect)重疊I/O模型(OverlappedI/O)I/O完成端口模型(I/OCompletionPort,IOCP)嵌入式網(wǎng)絡(luò)編程章共33頁,您現(xiàn)在瀏覽的是第14頁!1.2.2

Windows網(wǎng)絡(luò)I/O模型阻塞和非阻塞模型選擇模型(Select)異步選擇模型(WSAAsyncSelect)事件選擇模型(WSAEventSelect)重疊I/O模型(OverlappedI/O)I/O完成端口模型(I/OCompletionPort,IOCP)嵌入式網(wǎng)絡(luò)編程章共33頁,您現(xiàn)在瀏覽的是第15頁!1.2.2

Windows網(wǎng)絡(luò)I/O模型阻塞和非阻塞模型選擇模型(Select)異步選擇模型(WSAAsyncSelect)事件選擇模型(WSAEventSelect)重疊I/O模型(OverlappedI/O)I/O完成端口模型(I/OCompletionPort,IOCP)嵌入式網(wǎng)絡(luò)編程章共33頁,您現(xiàn)在瀏覽的是第16頁!1.2.3線程模型線程模型每個請求創(chuàng)建一個線程,使用阻塞式I/O操作使用線程池,同樣使用阻塞式I/O操作使用非阻塞I/O操作+I/O多路復(fù)用Leader/Follower等高級模式嵌入式網(wǎng)絡(luò)編程章共33頁,您現(xiàn)在瀏覽的是第17頁!1.2.5成熟的I/O框架ACEASIOLibev(Libevent)等等嵌入式網(wǎng)絡(luò)編程章共33頁,您現(xiàn)在瀏覽的是第18頁!章網(wǎng)絡(luò)編程概述網(wǎng)絡(luò)編程概念網(wǎng)絡(luò)編程模型嵌入式網(wǎng)絡(luò)編程章共33頁,您現(xiàn)在瀏覽的是第19頁!1.1網(wǎng)絡(luò)編程概念網(wǎng)絡(luò)編程與TCP/IP體系結(jié)構(gòu)的關(guān)系嵌入式網(wǎng)絡(luò)編程章共33頁,您現(xiàn)在瀏覽的是第20頁!1.1網(wǎng)絡(luò)編程概念CPU大小端檢測:intcheckCPU(){

unionw{

int

a;

charb;

}c;

c.a=1;

return(c.b==1);}CPU是大端則返回0,是小端則返回1。嵌入式網(wǎng)絡(luò)編程章共33頁,您現(xiàn)在瀏覽的是第21頁!1.1網(wǎng)絡(luò)編程概念網(wǎng)絡(luò)字節(jié)序使用大端模式。不同CPU和OS的主機(jī)字節(jié)序如下:CPUOS字節(jié)序Intelx86全部小端MIPSNT小端MIPSUNIX大端ARM全部大/小端嵌入式網(wǎng)絡(luò)編程章共33頁,您現(xiàn)在瀏覽的是第22頁!1.2網(wǎng)絡(luò)編程模型Unix/Linux網(wǎng)絡(luò)I/O模型Windows網(wǎng)絡(luò)I/O模型線程模型進(jìn)程模型成熟的I/O框架嵌入式網(wǎng)絡(luò)編程章共33頁,您現(xiàn)在瀏覽的是第23頁!Unix/Linux網(wǎng)絡(luò)I/O模型-阻塞I/O模型(BlockingI/O)1.2.1

Unix/Linux網(wǎng)絡(luò)I/O模型嵌入式網(wǎng)絡(luò)編程章共33頁,您現(xiàn)在瀏覽的是第24頁!1.2.1

Unix/Linux網(wǎng)絡(luò)I/O模型I/O復(fù)用模型(I/OMultiplexing)嵌入式網(wǎng)絡(luò)編程章共33頁,您現(xiàn)在瀏覽的是第25頁!1.2.1

Unix/Linux網(wǎng)絡(luò)I/O模型異步I/O模型(AsynchronousI/O)嵌入式網(wǎng)絡(luò)編程章共33頁,您現(xiàn)在瀏覽的是第26頁!1.2網(wǎng)絡(luò)編程模型同步I/O:同步I/O操作導(dǎo)致請求進(jìn)程被阻塞,直到I/O操作完成。(I/O操作是指真實(shí)的I/O操作)異步I/O:異步I/O操作不導(dǎo)致請求進(jìn)程被阻塞。同步I/O操作包括阻塞I/O模型、非阻塞I/O模型、I/O復(fù)用模型、信號驅(qū)動I/O模型。異步I/O操作包括異步I/O模型嵌入式網(wǎng)絡(luò)編程章共33頁,您現(xiàn)在瀏覽的是第27頁!1.2.2

Windows網(wǎng)絡(luò)I/O模型異步選擇模型(WSAAsyncSelect)Select模型的異步版本基于Windows的消息機(jī)制需要創(chuàng)建窗口嵌入式網(wǎng)絡(luò)編程章共33頁,您現(xiàn)在瀏覽的是第28頁!1.2.2

Windows網(wǎng)絡(luò)I/O模型事件選擇模型(WSAEventSelect)Select模型的異步版本基于事件機(jī)制事件處理函數(shù)處理事件,不需要創(chuàng)建窗口嵌入式網(wǎng)絡(luò)編程章共33頁,您現(xiàn)在瀏覽的是第29頁!1.2.2

Windows網(wǎng)絡(luò)I/O模型重疊I/O模型(OverlappedI/O)異步I/O模型,使用一個重疊的數(shù)據(jù)結(jié)構(gòu)一次投遞一個或多個WinsockI/O請求。同一個線程可以對多個I/O對象進(jìn)行I/O操作,不同的線程也可以對同一個I/O對象進(jìn)行操作。事件對象通知:事件通知的方式。完成例程:回調(diào)函數(shù)方式。重疊I/O模型能達(dá)到更佳的系統(tǒng)性能,高于選擇模型、異步選擇模型和事件模型嵌入式網(wǎng)絡(luò)編程章共33頁,您現(xiàn)在瀏覽的是第30頁!1.2.2

Windows網(wǎng)絡(luò)I/O模型I/O完成端口模型(I/OCompletionPort,IOCP)基于重疊I/O模型使用線程池技術(shù)線程數(shù)目一般為當(dāng)前電腦中CPU個數(shù)的2倍嵌入式網(wǎng)絡(luò)編程章共33頁,您

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論