<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于VxWorks嵌人式操作系統的C/S模式網(wǎng)絡(luò )編程

基于VxWorks嵌人式操作系統的C/S模式網(wǎng)絡(luò )編程

作者: 時(shí)間:2012-05-17 來(lái)源:網(wǎng)絡(luò ) 收藏

  1 嵌入式操作系統簡(jiǎn)介

  操作系統是美國WindRiver 公司于1983年設計開(kāi)發(fā)的一種嵌入式實(shí)時(shí)操作系統(RTOS),是嵌入式開(kāi)發(fā)環(huán)境的關(guān)鍵組成部分。良好的持續發(fā)展能力、高性能的內核以及友好的用戶(hù)開(kāi)發(fā)環(huán)境,使其在嵌入式實(shí)時(shí)操作系統領(lǐng)域占據一席之地。他以良好的可靠性和卓越的實(shí)時(shí)性被廣泛地應用在通信、軍事、航空、航天等高精尖技術(shù)及實(shí)時(shí)性要求極高的領(lǐng)域中,如衛星通訊、軍事演習、彈道制導、飛機導航等。

  2 的特點(diǎn)

  2.1 可靠性

  穩定、可靠是VxWorks的一個(gè)突出優(yōu)點(diǎn),因而他得到了越來(lái)越多的用戶(hù)的認可。

  2.2 實(shí)時(shí)性

  實(shí)時(shí)性是指能夠在限定時(shí)間內執行完規定的功能并對外部的異步事件做出響應的能力。實(shí)時(shí)性的強弱是以完成規定功能和做出響應時(shí)間的長(cháng)短來(lái)衡量的。

  VxWorks有很強的實(shí)時(shí)性,其系統本身的開(kāi)銷(xiāo)很小,進(jìn)程調度、進(jìn)程間通信、中斷處理等系統公用程序精練而有效,他們造成的延遲很短。VxWorks 提供的多任務(wù)機制中對任務(wù)的控制采用了優(yōu)先級搶占(Preemptive Priority Scheduling)和輪轉調度(Round-Robin Scheduling)機制,也充分保證了可靠的實(shí)時(shí)性,使同樣的硬件配置能滿(mǎn)足更強的實(shí)時(shí)性要求,為應用的開(kāi)發(fā)留下更大的余地。

  2.3 可裁減性

  VxWorks由一個(gè)體積很小的內核及一些可以根據需要進(jìn)行定制的系統模塊組成。VxWorks內核最小為8kB,即便加上其他必要模塊,所占用的空間也很小,且不失其實(shí)時(shí)、多任務(wù)的系統特征。由于他的高度靈活性,用戶(hù)可以很容易地對這一操作系統進(jìn)行定制或做適當開(kāi)發(fā),來(lái)滿(mǎn)足自己的實(shí)際應用需要。

  3 C/S模式

  網(wǎng)絡(luò )是VxWorks系統之間以及與其他系統聯(lián)系的主要途徑。在VxWorks網(wǎng)絡(luò )結構的最底層,通常使用以太網(wǎng)作為傳輸媒介;而在傳輸媒介的上一層,則使用TCP/IP和UDP/IP協(xié)議。

  VxWorks中最常見(jiàn)的是C/S模式,在該模式下,服務(wù)器端有一個(gè)任務(wù)(或多個(gè)任務(wù))在指定的端口等待客戶(hù)來(lái)連接,服務(wù)程序等待客戶(hù)的連接信息,一旦連接上之后,就可以按照設計的數據交換方法和格式進(jìn)行數據的傳輸;而客戶(hù)端則在需要的時(shí)候發(fā)出向服務(wù)端的連接請求??蛻?hù)端與服務(wù)器端的關(guān)系如圖1 所示。

  3.1 C/S模式原理

  網(wǎng)絡(luò )通信的基石是套接字,一個(gè)套接字是通信的一端。VxWorks為用戶(hù)提供了2種套接字,即流套接字和數據報套接字。流式套接字定義了一種可靠的面向連接的服務(wù),實(shí)現了無(wú)差錯無(wú)重復的順序數據傳輸。數據報套接字定義了一種無(wú)連接的服務(wù),數據通過(guò)相互獨立的報文進(jìn)行傳輸,是無(wú)序的,并且不保證可靠,無(wú)差錯。

  五連接的服務(wù)一般都是面向事務(wù)處理的,一個(gè)請求一個(gè)應答就完成了客戶(hù)端與服務(wù)端之間的信息交互。無(wú)連接的套接字C/S模式程序的流程如圖2所示。

  面向連接的服務(wù)比無(wú)連接的服務(wù)處理起來(lái)要復雜。

  套接字工作過(guò)程如下:服務(wù)器首先啟動(dòng),通過(guò)調用socket()建立一個(gè)套接口,然后調用bind()將該套接口和本地網(wǎng)絡(luò )地址聯(lián)系在一起,再調用listen()使套接口做好偵聽(tīng)的準備,并規定他的請求隊列的長(cháng)度,之后就調用accept()來(lái)接收連接??蛻?hù)在建立套接口后就可調用connect()和服務(wù)器建立連接。連接一旦建立,客戶(hù)機和服務(wù)器之間就可以通過(guò)調用recv()/recvfrom()和send ()/sendto()來(lái)發(fā)送和接收數據。最后,待數據傳送結束后,雙方調用close()關(guān)閉套接口。


上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>