网路应用程式实习12培训课件

上传人:yulij****0329 文档编号:139325857 上传时间:2020-07-21 格式:PPT 页数:38 大小:1.25MB
返回 下载 相关 举报
网路应用程式实习12培训课件_第1页
第1页 / 共38页
网路应用程式实习12培训课件_第2页
第2页 / 共38页
网路应用程式实习12培训课件_第3页
第3页 / 共38页
网路应用程式实习12培训课件_第4页
第4页 / 共38页
网路应用程式实习12培训课件_第5页
第5页 / 共38页
点击查看更多>>
资源描述

《网路应用程式实习12培训课件》由会员分享,可在线阅读,更多相关《网路应用程式实习12培训课件(38页珍藏版)》请在金锄头文库上搜索。

1、網路應用程式實習(1)、(2),實習規範,目的 規格 關聯 背景需求 設備需求,目的,瞭解網路驅動程式的原理與程式架構,及如何在Linux Target端架設ghttp server並作相關的運用。,技術背景-設備需求,技術背景需求 具 C 語言程式設計基礎 設備需求 H/W requitrement PC Host, COM port,網路 Hub Creator XCsale-PXA270 Development Kit S/W requitrements : Linux for Creator XScale-PXA270 user guide。 Create-XScale-PXA270

2、Users Guide。 通訊軟體:例如Windows的超級終端機。,簡介,在理論部分將針對下列幾點加以說明: 網路介面驅動程式 TCP/IP通訊協 HTTP超文件傳輸協定(HyperText Transport Protocol) CGI程式設計 在實作部分將包含下列幾點: 編譯和安裝ghttp server。 利用Windows Host的browser連結上ghttp server。 利用gpttp完成影音檔案的傳輸和播放。 利用gpttp完成遠端控制Linux Target端LED的明亮。,系統架構,電路架構,程式流程,WebLed程式Windows Host、Linux Target

3、、CGI程式架構圖,程式流程(cont.),WebLed程式CGI程式的訊息傳遞,實驗原理,網路介面驅動程式 TCP/IP通訊協定 HTTP超文件傳輸協定 CGI程式設計,網路介面驅動程式,網路介面驅動程式簡介 不同於字元式裝置和區塊式裝置,網路裝置並不依附在檔案系統中,而是在核心層就直接處理封包的傳遞與接收,因此也不為行程所開啟的檔案所限制。 網路介面和應用程式之間的資料傳遞不是透過和檔案相關的標準系統呼叫,而是像 socket()、bind()、listen()、accept()和connect()這類的系統呼叫,所以在Unix系統裡“任何東西都是檔案”的觀念,在網路裝置並不適用。 網路驅

4、動程式必須非同步(asynchronously)地接收外界的封包 網路驅動程式會要求將進來的封包推向核心,網路介面驅動程式 (cont.),網路驅動程式架構圖,網路介面驅動程式 (cont.),註冊網路裝置 struct *net_device alloc_netdev( ) / alloc_etherdev( ) ether_setup() register_netdev( ),網路介面驅動程式 (cont.),網路介面的初始化 snull_init( ) struct net_device 卸載網路模組 unregister_netdev( ),網路介面驅動程式 (cont.),開啟與關閉

5、 在介面傳輸封包之前,必須先以ifconfig開啟介面,並賦予IP位址 ifconfig設定IP位址給介面時: ioctl(SIOCSIFADDR) 設定軟體位址給介面 ioctl(SIOCSIFILAGS) 要求驅動程式開啟、關閉介面 觸動open及stop open() 設法取得必要的系統資源(佔領IRQ, IObase, buffer) 要求介面硬體起動 讀出MAC, 複製到 dev dev_addr (也可作在init或probe時) 將dev dev_addr設定至介面MAC暫存器中 stop() 停止介面硬體 歸還系統資源,網路介面驅動程式 (cont.),封包的傳送與接收,網路介

6、面驅動程式 (cont.),封包傳送,網路介面驅動程式 (cont.),封包接收,網路介面驅動程式 (cont.),中斷處置 Interrupt happen when A new packet has arrived Transmission of an outgoing packet is completed Something happened: PCI bus error, cable length change, time out Interrupt status register (ISR) Packet reception:Pass to the kernel Packet tr

7、ansmission is completed:Reset the transmit buffer of the interface Statistics,TCP/IP通訊協定,TCP/IP通訊協定簡介 TCP/IP是 Transmission Control Protocol (TCP) 和 Internet Protocol (IP) 的簡稱,為網路上的一種通訊協定 。 TCP/IP 是一個開放的標準,任何人均可自由的下載和 TCP/IP 相關的技術標準和文件 。 有了這些規則,即使是不同的電腦設備與作業環境,都可以透過這些通訊協定來互通訊息。同時也是因為這些規則,Internet 才可能

8、有這麼多應用 ( WWW、E-Mail、FTP、Telnet 等 )。,TCP/IP通訊協定 (cont.),TCP/IP 的階層架構,TCP/IP通訊協定 (cont.),什麼是 IP 位址? 每一台連上 Internet 的電腦都有一個獨一無二的位址,以方便彼此區分與辨識,這樣資料才不會送錯,這個位址就是 IP 位址 (IP Address)。 目前 IP 位址的長度為 32 位元,通常以四組數字來表達 (xxx.xxx.xxx.xxx),每組數字就是 8 位元長度。,TCP/IP通訊協定 (cont.),認識網域名稱 例如:.tw,HTTP超文件傳輸協定,HTTP超文件傳輸協定簡介 超文

9、件傳輸協定(HyperText Transport Protocol)與其他Web上所使用的主要標準規範的關係,HTTP是用來規範資料的傳輸的、HTML及VRML是用來規範在用戶端展示文件的、而CGI則是規範伺服器端與應用程式的介面的。,HTTP超文件傳輸協定 (cont.),HTTP規範沿革 目前最成熟的HTTP規格是HTTP/1.1(RFC2068) January 1997, 是在演變成網際網路正式標準過程中的一份草案,這是由IETF(Internet Engineering Task Force)下所屬HTTP Working Group(HTTP-WG)所編訂。 所有的標準草案可分為

10、Internet Drafts及Request for Comments(RFC)。前者為工作文件,有效期六個月,可隨時更改或取消;後者為IETF所屬IAB的永久性文件,有些會發展成為標準,稱為網際網路標準(Internet Standard),故HTTP/1.1正在成為網際網路標準的過程中。 HTTP規格可在http:/www.w3.org/pub/WWW/protocols取得,此外,由 ri.reston.va.us/home.html可察看其他相關規格與消息。,HTTP超文件傳輸協定 (cont.),HTTP功能及用途 它是一種應用階層(Application-level)的通訊協定,

11、特性是輕便、快速,特別適合如Web這種分散式、合作式的超媒體資訊系統 。 HTTP規範用戶(client)與伺服器(server)之間的通訊,用戶是一個程式,它按照HTTP的規範建立一個通達伺服器(另一個程式)的連結(connection)以送出其要求(request);所謂要求就是對在某一伺服器上的資源(resource)請其做某種動作, ghttpd ghttpdGaztek HTTP Daemon是UNIX系统下的web伺服器程式,它是免费下载的軟體並公開原始程式碼。ghttpd支持CGI是一款容易配置的HTTP 服務器。,CGI程式設計,CGI程式設計簡介 CGI 是 Common G

12、ateway Interface 的簡稱,一般中譯為:共通閘道介面。 Common 是指共通的、不限於一種作法的意思,在這裡指的是語言的獨立性,換言之,可以用任何一種程式語言來實作。常見的語言有 Perl、Python、C、C+、VB 。 Gateway 是說伺服器的應用能力是經由擴充得到的,它將查詢等要求交由外部程式處理,處理完了之後,再將結果傳回。 Interface 是指一種介面的意思,符合此一介面標準,便可以輕鬆地製作外部程式,而無需去擔心或處理低階的問題。 CGI 程式是 WEB 伺服器應用能力的擴充(Extension),而 CGI 則是此一擴充能力的介面,熟悉瞭解此一介面的原理及

13、運作方式,我們便可以為 WEB 伺服器建立即時互動的能力,以滿足客戶端的要求。,CGI程式設計 (cont.),CGI 架構圖,CGI程式設計 (cont.),撰寫 CGI 程式需要那些工具 UltraEditor vi (Unix 系統中的編輯器) CGI 程式設計如何入門 一點程式語言的基礎,不需要太高深,但至少基本的觀念要了解。 了解 CGI 程式的基本觀念和原理,最好找一本 CGI 的入門書籍來看看。 觀摩別人的程式,由模仿開始。並動手實作 CGI 小程式。 培養 CGI 偵錯的能力和經驗。 多和別人討論並交換心得經驗。 自定一個中型程式為目標,轉變模仿的作法,加入自己的創意和想法,開

14、始建立自己的風格。 不斷地看書、吸收新知,尋求突破和進階。,CGI程式設計 (cont.),第一支 CGI 程式 #! /usr/bin/perl # (第一列用來指出 perl 的路徑) # (第二列開始,若有出現 # ,則表示該列為註解,# perl 將不會執行它) print Content-type:text/htmlnn; # 這是 MIME 表頭,用來告訴瀏覽器要送出的資料型態是什麼? # 一定要寫出這一行,否則會出現 Error 500 錯誤 # 注意:每列命令用 ; 做為結束! # 接下來印出欲顯示的網頁內容 print CGI 哈囉!; print ; print Hello

15、, world!; print ;,CGI程式設計 (cont.),執行方法 將 CGI 程式用 FTP 軟體送上網頁 cgi-bin 目錄中 附屬檔名通常為 .cgi 或 .pl 注意一定要用 ASCII 模式上傳,否則會出現 Error 500 錯誤 將 CGI 程式屬性改為 755 在您的瀏覽上位址列處鍵入:http:/主機位址/cgi-bin/hello.cgi,CGI程式設計 (cont.),CGI如何取得傳遞資料 GET 此法會將資料以鍵和值(Key-Value)成對的方式,附加在 URL 之中,若有兩項以上的資料,則各對鍵值之間用 else $temp=$ENVQUERY_STR

16、ING; key_value=split(/ 此時 %data 這個雜湊陣列即取得了解碼後的資料,實習步驟,系統軟硬體設置 實作程式碼設置 重要檔案列表 實作重點提示,系統設置,系統軟硬體的設置 建立Windows Host端、 Linux Host端、 Linux Target端三者之間的硬體環境連結。 建立Linux Host端的編譯環境。 實作程式碼設置 將RM-033-04-403.tar.gz檔,安裝在Linux Host端/usr/src的相端路徑之下。,重要檔案列表,實作重點提示,編輯Source Code Make Kernel Image/ Make Device Driver/ User Application 編輯Root Filesystem 驗證,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 教学课件 > 高中课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号